public async Task <JsonResult> getlistRowsAsync(Guid id, Guid fkcontract) { var portage = db.TblPortages.Find(id); var portageContractType = db.TblContractTypes.Find(portage.FkContracttype); if (portageContractType.KindCotractType == web_db._Weighing.TblContractType.KindCotractTypeEnum.ASabad) { var xrows = await(from n in db.TblPortageRows where n.FkPortage == id && n.FkContract == fkcontract orderby n.Date descending select new Models.tbls.portage.PortageRow(n, db, false)).ToListAsync(); Models.tbls.portage.PortageRow z = xrows.FirstOrDefault(); if (z == null) { var fkgroup = HttpContext.Session.Get <Guid?>("fkgroup"); var k = cl.GuidToLocationCode((cl._ListGroup.SingleOrDefault(a => a.Id == fkgroup) ?? new web_db.TblGroup()).Fklocation); z = new Models.tbls.portage.PortageRow() { L1 = k[0], L2 = k[1], L3 = k[2] }; } var listinjdef = db.TblPortageInjuries.Where(a => a.FkPortage == id).Select(a => a.FkInjury).ToArray(); xrows.Insert(0, new Models.tbls.portage.PortageRow { CodeLocation = z.CodeLocation, FkPacking = z.FkPacking, FkProduct = z.FkProduct, ListInjurys = listinjdef, L1 = z.L1, L2 = z.L2, L3 = z.L3 }); var xpackings = await(from n in db.TblContractPackings.Include(a => a.FkPackingNavigation) where (n.FkPackingNavigation.ForContractTypeJson ?? "").Contains(((int)web_db._Weighing.TblContractType.KindCotractTypeEnum.ASabad).ToString()) && n.FkContract == fkcontract select n.FkPackingNavigation ).ToListAsync(); List <web_db._Weighing.TblProduct> xproducts = null; List <web_db._Weighing.TblInjury> xinjury = null; List <string> nimpalets = null; return(Json(Newtonsoft.Json.JsonConvert.SerializeObject(new { rows = xrows, packings = xpackings, products = xproducts, injurys = xinjury, nimpalets = nimpalets }))); } return(null); }
public async Task <JsonResult> getlistRowsAsync(Guid id, Guid fkcontract) { var portage = db.TblPortages.Find(id); var portageContractType = db.TblContractTypes.Find(portage.FkContracttype); if (portageContractType.KindCotractType == web_db._Weighing.TblContractType.KindCotractTypeEnum.ASurting) { var xrows = await(from n in db.TblPortageRows where n.FkPortage == id && n.FkContract == fkcontract orderby n.Date descending select new Models.tbls.portage.PortageRow(n, db, false, true)).ToListAsync(); foreach (var item in xrows) { try { if (item.rowPeerSard.Id.IsEmpty() == false) { item.ListProducts = db.TblContractProducts.Include(a => a.FkProductNavigation).Where(a => a.FkContract == item.rowPeerSard.FkContract).Select(a => a.FkProductNavigation).ToList(); item.ListPackings = web_sard.Models.cl._ListPacking.Where(a => a.ForContractType().Contains(web_db._Weighing.TblContractType.KindCotractTypeEnum.ASardKhane) && a.ForContractType().Contains(web_db._Weighing.TblContractType.KindCotractTypeEnum.ASurting)).ToList(); } else if (item.rowPeerAnbar.Id.IsEmpty() == false) { item.ListPackings = db.TblContractPackings.Include(a => a.FkPackingNavigation).Where(a => a.FkContract == item.rowPeerAnbar.FkContract).Select(a => a.FkPackingNavigation).ToList(); item.ListProducts = new List <web_db._Weighing.TblProduct>(); } else { item.ListProducts = db.TblContractProducts.Include(a => a.FkProductNavigation).Where(a => a.FkContract == portage._FkContractMain).Select(a => a.FkProductNavigation).ToList(); var xpackings = web_sard.Models.cl._ListPacking.Where(a => a.ForContractType().Contains(web_db._Weighing.TblContractType.KindCotractTypeEnum.ASurting)).ToList(); item.ListPackings = xpackings; } } catch { } } Models.tbls.portage.PortageRow z = xrows.FirstOrDefault(); ASardKhane.Models.tbls.portage.PortageRow zfromsard = null; ASabad.Models.tbls.portage.PortageRow zfromanbar = null; if (z != null && z.rowPeerSard != null) { zfromsard = z.rowPeerSard; } else if (z != null && z.rowPeerAnbar != null) { zfromanbar = z.rowPeerAnbar; } var listinjdef = db.TblPortageInjuries.Where(a => a.FkPortage == id).Select(a => a.FkInjury).ToArray(); if (z == null) { var fkgroup = HttpContext.Session.Get <Guid?>("fkgroup"); var k = cl.GuidToLocationCode((cl._ListGroup.SingleOrDefault(a => a.Id == fkgroup) ?? new web_db.TblGroup()).Fklocation); z = new Models.tbls.portage.PortageRow() { L1 = k[0], L2 = k[1], L3 = k[2] }; if (Models.tbls.portage.kindPortage.istofromSard(portage.KindCode)) { zfromsard = new ASardKhane.Models.tbls.portage.PortageRow { CodeLocation = z.CodeLocation, FkPacking = z.FkPacking, FkProduct = z.FkProduct, ListInjurys = listinjdef, L1 = z.L1, L2 = z.L2, L3 = z.L3 }; } else if (Models.tbls.portage.kindPortage.istofromAnbar(portage.KindCode)) { zfromanbar = new ASabad.Models.tbls.portage.PortageRow { CodeLocation = z.CodeLocation, FkPacking = z.FkPacking, FkProduct = z.FkProduct, ListInjurys = listinjdef, L1 = z.L1, L2 = z.L2, L3 = z.L3 }; } } var r = new Models.tbls.portage.PortageRow { CodeLocation = z.CodeLocation, FkPacking = z.FkPacking, FkProduct = z.FkProduct, ListInjurys = listinjdef, L1 = z.L1, L2 = z.L2, L3 = z.L3, rowPeerAnbar = zfromanbar, rowPeerSard = zfromsard }; r.ListProducts = new List <web_db._Weighing.TblProduct>(); r.ListPackings = new List <web_db._Weighing.TblPacking>(); if (Models.tbls.portage.kindPortage.istofrom(portage.KindCode) == false) { r.ListProducts = db.TblContractProducts.Include(a => a.FkProductNavigation).Where(a => a.FkContract == portage._FkContractMain).Select(a => a.FkProductNavigation).ToList(); var xpackings = web_sard.Models.cl._ListPacking.Where(a => a.ForContractType().Contains(web_db._Weighing.TblContractType.KindCotractTypeEnum.ASurting)).ToList(); r.ListPackings = xpackings; } else { Guid?conper = null; if (r.rowPeerSard != null && r.rowPeerSard.FkContract.HasValue) { conper = r.rowPeerSard.FkContract; var xproducts = db.TblContractProducts.Include(a => a.FkProductNavigation).Where(a => a.FkContract == conper).Select(a => a.FkProductNavigation).ToList(); var xpackings = web_sard.Models.cl._ListPacking.Where(a => a.ForContractType().Contains(web_db._Weighing.TblContractType.KindCotractTypeEnum.ASurting) && a.ForContractType().Contains(web_db._Weighing.TblContractType.KindCotractTypeEnum.ASardKhane)).ToList(); r.ListProducts = xproducts; r.ListPackings = xpackings; } else if (r.rowPeerAnbar != null && r.rowPeerAnbar.FkContract.HasValue) { conper = r.rowPeerAnbar.FkContract; var xpackings = db.TblContractPackings.Include(a => a.FkPackingNavigation).Where(a => a.FkContract == conper).Select(a => a.FkPackingNavigation).ToList(); r.ListProducts = new List <web_db._Weighing.TblProduct>(); r.ListPackings = xpackings; } } xrows.Insert(0, r); List <web_db._Weighing.TblInjury> xinjury = null; List <string> nimpalets = null; xinjury = cl._ListInjury.Where(a => a.ForContractType().Any(s => s == web_db._Weighing.TblContractType.KindCotractTypeEnum.ASurting) && a.IsActive).ToList(); var plast = db.TblPortages.Include(a => a.TblPortageRows).OrderByDescending(a => a.Date2).FirstOrDefault(a => a.Id != portage.Id && a.FkCustomer == portage.FkCustomer && a.TblPortageRows.Any(s => s.FkContract == fkcontract)); if (plast != null) { nimpalets = db.TblPortageRows.Where(a => a.FkPortage == plast.Id && a.FkContract == fkcontract && a.IsNimPalet).Select(a => new { aa = "(" + a.CodeLocation + ")" + a.Count.ToString() }).Select(a => a.aa).ToList(); } return(Json(Newtonsoft.Json.JsonConvert.SerializeObject(new { rows = xrows, /* packings = xpackings, products = xproducts,*/ injurys = xinjury, nimpalets = nimpalets }))); } return(null); }
public async Task <JsonResult> getlistRowsAsync(Guid id, Guid fkcontract) { var portage = db.TblPortages.Find(id); var portageContractType = db.TblContractTypes.Find(portage.FkContracttype); if (portageContractType.KindCotractType == web_db._Weighing.TblContractType.KindCotractTypeEnum.ASardKhane) { var xrows = await(from n in db.TblPortageRows where n.FkPortage == id && n.FkContract == fkcontract orderby n.Date descending select new Models.tbls.portage.PortageRow(n, db, false, false, false)).ToListAsync(); Models.tbls.portage.PortageRow z = xrows.FirstOrDefault(); if (z == null) { var fkgroup = HttpContext.Session.Get <Guid?>("fkgroup"); var k = cl.GuidToLocationCode((cl._ListGroup.SingleOrDefault(a => a.Id == fkgroup) ?? new web_db.TblGroup()).Fklocation); z = new Models.tbls.portage.PortageRow() { L1 = k[0], L2 = k[1], L3 = k[2] }; } var listinjdef = db.TblPortageInjuries.Where(a => a.FkPortage == id).Select(a => a.FkInjury).ToArray(); xrows.Insert(0, new Models.tbls.portage.PortageRow { CodeLocation = z.CodeLocation, FkPacking = z.FkPacking, FkProduct = z.FkProduct, ListInjurys = listinjdef, L1 = z.L1, L2 = z.L2, L3 = z.L3 }); List <web_db._Weighing.TblInjury> xinjury = null; List <string> nimpalets = null; var xpackings = cl._ListPacking.Where(a => a.ForContractType().Contains(web_db._Weighing.TblContractType.KindCotractTypeEnum.ASardKhane)).ToList(); List <web_db._Weighing.TblProduct> xproducts = await db.TblContractProducts.Where(a => a.FkContract == fkcontract).Include(a => a.FkProductNavigation).Select(a => a.FkProductNavigation).ToListAsync(); xinjury = cl._ListInjury.Where(a => a.IsActive).ToList(); var plast = db.TblPortages.Include(a => a.TblPortageRows).OrderByDescending(a => a.Date2).FirstOrDefault(a => a.Id != portage.Id && a.FkCustomer == portage.FkCustomer && a.TblPortageRows.Any(s => s.FkContract == fkcontract)); if (plast != null) { nimpalets = db.TblPortageRows.Where(a => a.FkPortage == plast.Id && a.FkContract == fkcontract && a.IsNimPalet).Select(a => new { aa = "(" + a.CodeLocation + ")" + a.Count.ToString() }).Select(a => a.aa).ToList(); } return(Json(Newtonsoft.Json.JsonConvert.SerializeObject(new { rows = xrows, packings = xpackings, products = xproducts, injurys = xinjury, nimpalets = nimpalets }))); } return(null); }