SHARE
TWEET

Cont

a guest Nov 19th, 2019 93 Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
  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. }
RAW Paste Data
We use cookies for various purposes including analytics. By continuing to use Pastebin, you agree to our use of cookies as described in the Cookies Policy. OK, I Understand
 
Top