Advertisement
Guest User

Cont

a guest
Nov 19th, 2019
150
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 31.43 KB | None | 0 0
  1. using ABI.Common;
  2. using ABI.MDM.Common;
  3. using Profisee.MasterDataMaestro.Services.DataContracts.MasterDataServices;
  4. using Profisee.Services.Sdk.AcceleratorFramework;
  5. using Profisee.Services.Sdk.Common.Contracts.DataContext;
  6. using System;
  7. using System.Collections.Generic;
  8. using System.Collections.ObjectModel;
  9. using System.Linq;
  10. using System.Security.Principal;
  11. using System.Text;
  12. using System.Web;
  13. using System.Web.Mvc;
  14.  
  15. namespace ABI.Controllers
  16. {
  17. public partial class ReportsController : Controller
  18. {
  19. // GET: Reports
  20. public ActionResult Report()
  21. {
  22. DropdownLists.GetBooksList();
  23. DropdownLists.ParentBrand();
  24. DropdownLists.PtsLevelList();
  25. return View("~/Views/Dashboard/Report.cshtml");
  26. }
  27.  
  28. public JsonResult GetChildBooks(string parentBookCode, string brand, string ptsLevel)
  29. {
  30. var sbp = new StringBuilder();
  31. sbp.Append(string.Format("[SourceTestspecificationCode] = '{0}' ", parentBookCode));
  32. if (!string.IsNullOrEmpty(brand))
  33. sbp.Append(string.Format("AND [Brand] ='{0}' ", brand));
  34. if (!string.IsNullOrEmpty(ptsLevel))
  35. sbp.Append(string.Format("AND [PtsLevel] ='{0}' ", ptsLevel));
  36. //Getting Child Book Details
  37. var bec_childBooks = new BrowseEntityContext
  38. {
  39. Filter = sbp.ToString(),
  40. MemberType = MemberType.Leaf,
  41. PageNumber = 1,
  42. PageSize = 10000
  43. };
  44. var childBkCodes = Helper.GetMemberCollection(Entities.Catalog, bec_childBooks);
  45. var TestSpecificationList = childBkCodes.Select(x => x.MemberId);
  46. var sb = new StringBuilder();
  47. sb.Append(string.Format("[TestSpecificationCode] ='{0}' ", parentBookCode));
  48. var bc = new BrowseEntityContext
  49. {
  50. Filter = sb.ToString(),
  51. MemberType = MemberType.Leaf,
  52. PageNumber = 1,
  53. PageSize = 100000
  54. };
  55. var ptsParameters = Helper.GetMemberCollectionSelAttr(Entities.PtsDetail, bc, new Collection<string> { "ParameterCode", "ParameterType" });
  56. var parameters = ptsParameters.Select(m => new
  57. {
  58. code = m.Attributes.FirstOrDefault(x => x.Name == "ParameterCode").Value,
  59. value = ((MemberIdentifier)m.Attributes.FirstOrDefault(x => x.Name == "ParameterType").Value).Name + "/" + m.Attributes.FirstOrDefault(x => x.Name == "ParameterCode").Value
  60. }).Distinct();
  61. return Json(new { TestSpecificationList = TestSpecificationList, ParameterCodes = parameters }, JsonRequestBehavior.AllowGet);
  62. }
  63.  
  64.  
  65. public string ParentChildReport(string parentBookCode, string[] selChildBkCodes, string[] selParams)
  66. {
  67. IEnumerable<BookParameters> PCDifferences = null;
  68. StringBuilder cbSb = new StringBuilder();
  69. StringBuilder pcSb = new StringBuilder();
  70. StringBuilder finalSb = new StringBuilder();
  71.  
  72. try
  73. {
  74. //Getting Parent Book Details
  75. var bc_parentbkParamsList = new BrowseEntityContext
  76. {
  77. Filter = string.Format("[TestSpecificationCode] = '{0}' ", parentBookCode),
  78. MemberType = MemberType.Leaf,
  79. PageNumber = 1,
  80. PageSize = 100000
  81. };
  82. var pbkParamsList = Helper.GetMdmMemberCollection(Entities.PtsDetail, bc_parentbkParamsList);
  83. IEnumerable<BookParameters> parentBookParams = GetBookParamsList(pbkParamsList);
  84. if (parentBookParams != null && parentBookParams.Count() > 0)
  85. {
  86. if (selChildBkCodes == null || selChildBkCodes.Count() == 0) /// For all child books
  87. {
  88. //Getting Child Book Details
  89. var bec_childBooks = new BrowseEntityContext
  90. {
  91. Filter = string.Format("[SourceTestspecificationCode] = '{0}' ", parentBookCode),
  92. MemberType = MemberType.Leaf,
  93. PageNumber = 1,
  94. PageSize = 10000
  95. };
  96. var childBkCodes = Helper.GetMemberCollection(Entities.Catalog, bec_childBooks);
  97.  
  98. foreach (var cb in childBkCodes)
  99. {
  100.  
  101. if (cbSb.Length == 0)
  102. cbSb.Append(string.Format("[TestSpecificationCode] = '{0}' ", cb.MemberId.Code));
  103. else
  104. cbSb.Append(string.Format("OR [TestSpecificationCode] = '{0}' ", cb.MemberId.Code));
  105. }
  106. }
  107. else // for selected child books
  108. {
  109. foreach (var cb in selChildBkCodes)
  110. {
  111.  
  112. if (cbSb.Length == 0)
  113. cbSb.Append(string.Format("[TestSpecificationCode] = '{0}' ", cb));
  114. else
  115. cbSb.Append(string.Format("OR [TestSpecificationCode] = '{0}' ", cb));
  116. }
  117. }
  118. if (selParams != null)
  119. { // ParameterCode
  120. foreach (var pCode in selParams)
  121. {
  122. if (pcSb.Length == 0)
  123. pcSb.Append(string.Format("[ParameterCode] = '{0}' ", pCode));
  124. else
  125. pcSb.Append(string.Format("OR [ParameterCode] = '{0}' ", pCode));
  126. }
  127. }
  128. if (cbSb.Length != 0)
  129. {
  130. finalSb.Append(string.Format(" ({0}) ", cbSb));
  131. if (pcSb.Length != 0)
  132. finalSb.Append(string.Format("AND ({0}) ", pcSb));
  133. var bc_bkparamsList = new BrowseEntityContext
  134. {
  135. Filter = finalSb.ToString(),
  136. MemberType = MemberType.Leaf,
  137. PageNumber = 1,
  138. PageSize = 100000
  139. };
  140. var cbkparamsList = Helper.GetMdmMemberCollection(Entities.PtsDetail, bc_bkparamsList);
  141. IEnumerable<BookParameters> childBookParams = GetBookParamsList(cbkparamsList);
  142. if (childBookParams != null && childBookParams.Count() > 0)
  143. {
  144. var diffCParamsList = (from p in parentBookParams
  145. join c in childBookParams on p.ParameterCode equals c.ParameterCode
  146. where p.RedLow != c.RedLow ||
  147. p.RedHigh != c.RedHigh ||
  148. p.Target != c.Target ||
  149. p.YellowLow != c.YellowLow ||
  150. p.YellowHigh != c.YellowHigh ||
  151. p.SamplePoint != c.SamplePoint ||
  152. p.ProcessIndicator != c.ProcessIndicator ||
  153. p.ManGoodPractice != c.ManGoodPractice ||
  154. p.MethodOfAnalysis != c.MethodOfAnalysis ||
  155. p.SpecificationLevel != c.SpecificationLevel ||
  156. p.Frequency != c.Frequency ||
  157. p.ParameterStatus != c.ParameterStatus ||
  158. p.Notification != c.Notification ||
  159. p.NotificationInterval != c.NotificationInterval
  160. select c);
  161. var ptbookParams = (from p in parentBookParams
  162. join d in diffCParamsList on p.ParameterCode equals d.ParameterCode
  163. select p);
  164. if (diffCParamsList != null && diffCParamsList.Count() > 0)
  165. {
  166. PCDifferences = (ptbookParams.Union(diffCParamsList));
  167. PCDifferences = PCDifferences.OrderBy(x => x.ParameterCode).ThenBy(x => x.TestSpecCode);
  168. var GroupList = PCDifferences.GroupBy(item => item.ParameterCode)
  169. .Select(group => new
  170. {
  171. ParameterCode = group.Key,
  172. items = group.ToList()
  173. }).ToList();
  174.  
  175. return Newtonsoft.Json.JsonConvert.SerializeObject(GroupList);
  176. }
  177.  
  178. }
  179. }
  180. }
  181. }
  182. catch (Exception ex)
  183. {
  184.  
  185. }
  186. return Newtonsoft.Json.JsonConvert.SerializeObject(PCDifferences);
  187.  
  188. }
  189.  
  190. public IEnumerable<BookParameters> GetBookParamsList(Collection<MdmMember> memberList,bool ParamHistoryCode=false)
  191. {
  192. IEnumerable<BookParameters> bkParameters = new List<BookParameters>();
  193. try
  194. {
  195. bkParameters = memberList.Select(item => new BookParameters
  196. {
  197. Name = ((MemberIdentifier)item.GetMemberValue("TestSpecificationCode")).Name as string,
  198. TestSpecCode = ((MemberIdentifier)item.GetMemberValue("TestSpecificationCode")).Code as string,
  199. Code = item.MemberId.Code,
  200. Target = (item.GetMemberValue("Target")) as string,
  201. RedLow = (item.GetMemberValue("RedToleranceMin")) as string,
  202. RedHigh = (item.GetMemberValue("YellowToleranceMin")) as string,
  203. YellowHigh = (item.GetMemberValue("YellowToleranceMax")) as string,
  204. YellowLow = (item.GetMemberValue("RedToleranceMax")) as string,
  205. ParameterCode = (item.GetMemberValue("ParameterCode")) as string,
  206. ParameterType = ((MemberIdentifier)item.GetMemberValue("ParameterType")).Name as string,
  207. SamplePoint = ((MemberIdentifier)item.GetMemberValue("SamplePoint")).Name as string,
  208. ProcessIndicator = ((MemberIdentifier)item.GetMemberValue("ProcessIndicator")).Name as string,
  209. ManGoodPractice = ((MemberIdentifier)item.GetMemberValue("MandatoryOrGoodPractice")).Name as string,
  210. MethodOfAnalysis = ((MemberIdentifier)item.GetMemberValue("MethodOfAnalysis")).Name as string,
  211. SpecificationLevel = ((MemberIdentifier)item.GetMemberValue("SpecificationLevel")).Name as string,
  212. Frequency = ((MemberIdentifier)item.GetMemberValue("MinimumFrequency")).Name as string,
  213. ParameterStatus = ((MemberIdentifier)item.GetMemberValue("ParameterStatus")).Name as string,
  214. Notification = ((MemberIdentifier)item.GetMemberValue("ISNotification")).Code != null ? ((MemberIdentifier)item.GetMemberValue("ISNotification")).Code.ToString() : "",
  215. NotificationInterval = Convert.ToString((item.GetMemberValue("ISNotification_Interval"))),
  216. ParamHistoryCode = ParamHistoryCode ? ((MemberIdentifier)item.GetMemberValue("TestParameter")).Code as string : ""
  217. });
  218. }
  219. catch (Exception ex)
  220. {
  221.  
  222. }
  223. return bkParameters;
  224. }
  225.  
  226. public ActionResult BooksComparisonReport()
  227. {
  228. DropdownLists.ProcessStreamList();
  229. Session["SubStream"] = new SelectList("");
  230. Session["TestSpecification"] = new SelectList("");
  231. return View("~/Views/Dashboard/BooksComparisonReport.cshtml");
  232. }
  233. public ActionResult RawMaterialReport()
  234. {
  235. if (Session["PtsLevelList"] == null)
  236. DropdownLists.PtsLevelList();
  237. DropdownLists.ProcessStreamList();
  238. Session["SubStream"] = new SelectList("");
  239. Session["TestSpecification"] = new SelectList("");
  240. return View("~/Views/Dashboard/RawMaterialReport.cshtml");
  241. }
  242. public JsonResult GetSamePSBooks(string processStream, string substream, string selBookCode = "")
  243. {
  244. IEnumerable<MemberIdentifier> testSpecificationList = null;
  245. try
  246. {
  247. StringBuilder sb = new StringBuilder();
  248. if (processStream != "")
  249. sb.Append(string.Format("[ProcessStream] ='{0}' ", processStream));
  250. if (substream != "")
  251. sb.Append(string.Format("AND [Substream] ='{0}' ", substream));
  252. var bc_TestSpec = new BrowseEntityContext
  253. {
  254. Filter = sb.ToString(),
  255. MemberType = MemberType.Leaf,
  256. PageNumber = 1,
  257. PageSize = 1000
  258. };
  259. var testSpecificationCollection = Helper.GetMemberCollectionSelAttr(Entities.Catalog, bc_TestSpec, new Collection<string>());
  260. testSpecificationList = testSpecificationCollection.Select(x => x.MemberId);
  261. if (selBookCode != "")
  262. {
  263. testSpecificationList = testSpecificationCollection.Where(x => x.MemberId.Code != selBookCode).Select(x => x.MemberId);
  264. }
  265. }
  266. catch (Exception ex)
  267. {
  268. CodeLogs.Error("Error in Loading booksList" + ex.Message.ToString());
  269. }
  270. return Json(testSpecificationList, JsonRequestBehavior.AllowGet);
  271. }
  272.  
  273. public JsonResult GetRMBooks(string ps, string ptslevel, string subStream, string BookName)
  274. {
  275. IEnumerable<MemberIdentifier> BooksList = null;
  276. try
  277. {
  278. var sb = new StringBuilder();
  279. var rb = new StringBuilder();
  280.  
  281. if (!string.IsNullOrEmpty(ptslevel))
  282. sb.Append(string.Format(" [PtsLevel] ='{0}' ", ptslevel));
  283.  
  284. if (!string.IsNullOrEmpty(ps))
  285. sb.Append(string.Format("AND [ProcessStream] ='{0}' ", ps));
  286.  
  287. if (!string.IsNullOrEmpty(subStream))
  288. sb.Append(string.Format("AND [Substream] ='{0}' ", subStream));
  289.  
  290. //if (!string.IsNullOrEmpty(BookName))
  291. // rb.Append(string.Format("AND [Substream] ='{0}' ", BookName));
  292.  
  293.  
  294.  
  295. var bc = new BrowseEntityContext
  296. {
  297. Filter = sb.ToString(),
  298. MemberType = MemberType.Leaf,
  299. PageNumber = 1,
  300. PageSize = 1000
  301. };
  302. var ptsBooks = Helper.GetMdmMemberCollection(Entities.Catalog, bc);
  303. BooksList = ptsBooks.Select(x => x.MemberId);
  304. //var code = ptsBooks.FirstOrDefault().MemberId.Code;
  305. //if (code!=null)
  306. // rb.Append(string.Format("[TestSpecificationCode] = '{0}'", code));
  307.  
  308. //var bk = new BrowseEntityContext
  309. //{
  310. // Filter = rb.ToString(),
  311. // MemberType = MemberType.Leaf,
  312. // PageNumber = 1,
  313. // PageSize = 1000
  314. //};
  315. //var TestParameterList = Helper.GetMdmMemberCollection(Entities.PtsDetail, bk);
  316.  
  317.  
  318. //IEnumerable<BookParameters> bookParams = GetBookParamsList(TestParameterList);
  319.  
  320. }
  321. catch (Exception ex)
  322. {
  323.  
  324. }
  325. return Json(BooksList, JsonRequestBehavior.AllowGet);
  326. }
  327.  
  328. public JsonResult GetReportRM(string BookName)
  329. {
  330.  
  331. IEnumerable<BookParameters> bookParams = null;
  332. try
  333. {
  334.  
  335. var rb = new StringBuilder();
  336.  
  337.  
  338.  
  339.  
  340. var code = BookName;//ptsBooks.FirstOrDefault().MemberId.Code;
  341. if (code != null)
  342. rb.Append(string.Format("[TestSpecificationCode] = '{0}'", code));
  343.  
  344. var bk = new BrowseEntityContext
  345. {
  346. Filter = rb.ToString(),
  347. MemberType = MemberType.Leaf,
  348. PageNumber = 1,
  349. PageSize = 1000
  350. };
  351. var TestParameterList = Helper.GetMdmMemberCollection(Entities.PtsDetail, bk);
  352.  
  353.  
  354. bookParams = GetBookParamsList(TestParameterList);
  355.  
  356. }
  357. catch (Exception ex)
  358. {
  359.  
  360. }
  361. return Json(bookParams, JsonRequestBehavior.AllowGet);
  362. }
  363.  
  364. public string BookComparisonReport(string parentBookCode, string[] selBkCodes, string category, string specLevel = "")
  365. {
  366. IEnumerable<BookParameters> PCDifferences = null;
  367. StringBuilder cbSb = new StringBuilder();
  368. StringBuilder pcSb = new StringBuilder();
  369. StringBuilder finalSb = new StringBuilder();
  370.  
  371. try
  372. {
  373. //Getting Parent Book Details
  374. var bc_parentbkParamsList = new BrowseEntityContext
  375. {
  376. Filter = string.Format("[TestSpecificationCode] = '{0}' ", parentBookCode),
  377. MemberType = MemberType.Leaf,
  378. PageNumber = 1,
  379. PageSize = 100000
  380. };
  381. var pbkParamsList = Helper.GetMdmMemberCollection(Entities.PtsDetail, bc_parentbkParamsList);
  382. IEnumerable<BookParameters> parentBookParams = GetBookParamsList(pbkParamsList);
  383. if (parentBookParams != null && parentBookParams.Count() > 0)
  384. {
  385. // for selected child books
  386. foreach (var cb in selBkCodes)
  387. {
  388.  
  389. if (cbSb.Length == 0)
  390. cbSb.Append(string.Format("[TestSpecificationCode] = '{0}' ", cb));
  391. else
  392. cbSb.Append(string.Format("OR [TestSpecificationCode] = '{0}' ", cb));
  393. }
  394.  
  395. if (cbSb.Length != 0)
  396. {
  397. finalSb.Append(string.Format(" ({0}) ", cbSb));
  398. var bc_bkparamsList = new BrowseEntityContext
  399. {
  400. Filter = finalSb.ToString(),
  401. MemberType = MemberType.Leaf,
  402. PageNumber = 1,
  403. PageSize = 100000
  404. };
  405. var cbkparamsList = Helper.GetMdmMemberCollection(Entities.PtsDetail, bc_bkparamsList);
  406. IEnumerable<BookParameters> selBookParams = GetBookParamsList(cbkparamsList);
  407. if (category != "ALL")
  408. {
  409. if (selBookParams != null && selBookParams.Count() > 0)
  410. {
  411. IEnumerable<BookParameters> diffCParamsList = null;
  412. IEnumerable<BookParameters> ptbookParams = null;
  413. if (specLevel != "")
  414. {
  415. diffCParamsList = (from p in parentBookParams
  416. join c in selBookParams on p.ParameterCode equals c.ParameterCode
  417. where c.SpecificationLevel == specLevel &&
  418. (p.RedLow != c.RedLow ||
  419. p.RedHigh != c.RedHigh ||
  420. p.Target != c.Target ||
  421. p.YellowLow != c.YellowLow ||
  422. p.YellowHigh != c.YellowHigh ||
  423. p.SamplePoint != c.SamplePoint ||
  424. p.ProcessIndicator != c.ProcessIndicator ||
  425. p.ManGoodPractice != c.ManGoodPractice ||
  426. p.MethodOfAnalysis != c.MethodOfAnalysis ||
  427. p.Frequency != c.Frequency ||
  428. p.ParameterStatus != c.ParameterStatus ||
  429. p.Notification != c.Notification ||
  430. p.NotificationInterval != c.NotificationInterval) && p.SpecificationLevel == c.SpecificationLevel
  431. select c);
  432. ptbookParams = (from p in parentBookParams
  433. join d in diffCParamsList on p.ParameterCode equals d.ParameterCode
  434. where p.SpecificationLevel == specLevel
  435. select p);
  436. }
  437. else
  438. {
  439. diffCParamsList = (from p in parentBookParams
  440. join c in selBookParams on p.ParameterCode equals c.ParameterCode
  441. where
  442. (p.RedLow != c.RedLow ||
  443. p.RedHigh != c.RedHigh ||
  444. p.Target != c.Target ||
  445. p.YellowLow != c.YellowLow ||
  446. p.YellowHigh != c.YellowHigh ||
  447. p.SamplePoint != c.SamplePoint ||
  448. p.ProcessIndicator != c.ProcessIndicator ||
  449. p.ManGoodPractice != c.ManGoodPractice ||
  450. p.MethodOfAnalysis != c.MethodOfAnalysis ||
  451. p.SpecificationLevel != c.SpecificationLevel ||
  452. p.Frequency != c.Frequency ||
  453. p.ParameterStatus != c.ParameterStatus ||
  454. p.Notification != c.Notification ||
  455. p.NotificationInterval != c.NotificationInterval)
  456. select c);
  457. ptbookParams = (from p in parentBookParams
  458. join d in diffCParamsList on p.ParameterCode equals d.ParameterCode
  459. select p);
  460. }
  461. if (diffCParamsList != null && diffCParamsList.Count() > 0)
  462. {
  463. PCDifferences = (ptbookParams.Union(diffCParamsList));
  464. PCDifferences = PCDifferences.OrderBy(x => x.ParameterCode).ThenBy(x => x.TestSpecCode);
  465. var GroupList = PCDifferences.GroupBy(item => item.ParameterCode)
  466. .Select(group => new
  467. {
  468. ParameterCode = group.Key,
  469. items = group.ToList()
  470. }).ToList();
  471.  
  472. return Newtonsoft.Json.JsonConvert.SerializeObject(GroupList);
  473. }
  474. }
  475.  
  476. }
  477. else
  478. {
  479. PCDifferences = (parentBookParams.Union(selBookParams));
  480. if(specLevel!="")
  481. PCDifferences = PCDifferences.Where(x=>x.SpecificationLevel==specLevel).OrderBy(x => x.ParameterCode).ThenBy(x => x.TestSpecCode);
  482. else
  483. PCDifferences = PCDifferences.OrderBy(x => x.ParameterCode).ThenBy(x => x.TestSpecCode);
  484. var GroupList = PCDifferences.GroupBy(item => item.ParameterCode)
  485. .Select(group => new
  486. {
  487. ParameterCode = group.Key,
  488. items = group.ToList()
  489. }).ToList();
  490.  
  491. return Newtonsoft.Json.JsonConvert.SerializeObject(GroupList);
  492. }
  493. }
  494. }
  495. }
  496. catch (Exception ex)
  497. {
  498.  
  499. }
  500. return Newtonsoft.Json.JsonConvert.SerializeObject(PCDifferences);
  501.  
  502. }
  503.  
  504. public ActionResult VersionReport()
  505. {
  506. DropdownLists.ProcessStreamList();
  507. Session["SubStream"] = new SelectList("");
  508. Session["TestSpecification"] = new SelectList("");
  509. return View();
  510. }
  511. public string BookVersionComparisonReport(string BookCode)
  512. {
  513. IEnumerable<BookParameters> PCDifferences = null;
  514.  
  515. try
  516. {
  517. var parentBook = Helper.GetMdmMember(Entities.Catalog, BookCode);
  518. string bookVersion = (parentBook.GetMemberValue("Version")) as string;
  519. string LatestValidatedVersion = (parentBook.GetMemberValue("LatestValidatedVersion")) as string;
  520. if (bookVersion.Trim() != LatestValidatedVersion.Trim())
  521. {
  522. //Getting Parent Book Details
  523. var bc_parentbkParamsList = new BrowseEntityContext
  524. {
  525. Filter = string.Format("[TestSpecificationCode] = '{0}' ", BookCode),
  526. MemberType = MemberType.Leaf,
  527. PageNumber = 1,
  528. PageSize = 100000
  529. };
  530. StringBuilder sb = new StringBuilder();
  531. sb.Append(string.Format("[TestSpecificationCode] = '{0}' ", BookCode));
  532. sb.Append(string.Format("AND [Version] = '{0}' ", LatestValidatedVersion));
  533. var bc_oldParamsList = new BrowseEntityContext
  534. {
  535. Filter = sb.ToString(),
  536. MemberType = MemberType.Leaf,
  537. PageNumber = 1,
  538. PageSize = 100000
  539. };
  540. var pbkParamsList = Helper.GetMdmMemberCollection(Entities.PtsDetail, bc_parentbkParamsList);
  541. var oldParamsList = Helper.GetMdmMemberCollection(Entities.ParameterHistory, bc_oldParamsList);
  542. IEnumerable<BookParameters> parentBookParams = GetBookParamsList(pbkParamsList);
  543. IEnumerable<BookParameters> oldBookParams = GetBookParamsList(oldParamsList, true);
  544. if (parentBookParams != null && parentBookParams.Count() > 0)
  545. {
  546. PCDifferences = (from newParams in parentBookParams
  547. join oldParams in oldBookParams on newParams.Code equals oldParams.ParamHistoryCode
  548. select newParams);
  549. PCDifferences = (PCDifferences.Union(oldBookParams));
  550. PCDifferences = PCDifferences.OrderBy(x => x.ParameterCode).ThenBy(x => x.TestSpecCode);
  551. var GroupList = PCDifferences.GroupBy(item => item.ParameterCode)
  552. .Select(group => new
  553. {
  554. ParameterCode = group.Key,
  555. items = group.ToList()
  556. }).ToList();
  557.  
  558. return Newtonsoft.Json.JsonConvert.SerializeObject(GroupList);
  559. }
  560. }
  561. }
  562. catch (Exception ex)
  563. {
  564.  
  565. }
  566. return Newtonsoft.Json.JsonConvert.SerializeObject(PCDifferences);
  567.  
  568. }
  569.  
  570. public ActionResult ChangeRequestActionReport()
  571. {
  572. if (Session["PtsLevelList"] == null)
  573. DropdownLists.PtsLevelList();
  574. #region Add Owned Books to Session
  575. try
  576. {
  577. var bc_TestSpec = new BrowseEntityContext
  578. {
  579. MemberType = MemberType.Leaf,
  580. PageNumber = 1,
  581. PageSize = 1000,
  582. Filter = new StringBuilder().Append(string.Format("[UserId] = '{0}'", WindowsIdentity.GetCurrent().Name.ToUpper().ToString().Trim())).ToString()
  583. };
  584. var TestSpecificationCollection = Helper.GetMdmMemberCollection(Entities.BookOwner, bc_TestSpec);
  585. var filter = new StringBuilder();
  586. var i = 0;
  587. foreach (var book in TestSpecificationCollection)
  588. {
  589. filter.Append(string.Format(" [code] = '{0}' ",((book.Member.Attributes.FirstOrDefault(x => x.Name == "BookId").Value) as MemberIdentifier).Code)).ToString();
  590. if (i < TestSpecificationCollection.Count - 1)
  591. filter.Append(string.Format(" OR")).ToString();
  592. i++;
  593.  
  594. }
  595. filter.Append(string.Format(" AND [PtsLevel] = '{0}'", "Master")).ToString();
  596. var bc_OwnedBooks = new BrowseEntityContext
  597. {
  598. MemberType = MemberType.Leaf,
  599. PageNumber = 1,
  600. PageSize = 1000,
  601. Filter = filter.ToString()
  602. };
  603. var BooksOwned = Helper.GetMdmMemberCollection(Entities.Catalog, bc_OwnedBooks);
  604. var TestSpecificationList = TestSpecificationCollection.Select(x => x.Member.Attributes);
  605. Session["TestSpecification"] = new SelectList(TestSpecificationList, "Code", "Name");
  606. }
  607. catch (Exception ex)
  608. {
  609. CodeLogs.Error("Error in Loading booksList" + ex.Message.ToString());
  610. }
  611. #endregion
  612.  
  613. return View();
  614. }
  615. }
  616. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement