public PortageRow() { ListInjurysTbl = new List <web_sard.Models.tbls.alltbl>(); rowPeerSard = new ASardKhane.Models.tbls.portage.PortageRow(); rowPeerAnbar = new ASabad.Models.tbls.portage.PortageRow(); ListProducts = new List <web_db._Weighing.TblProduct>(); ListPackings = new List <web_db._Weighing.TblPacking>(); }
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 PortageRow(web_db._Weighing.TblPortageRow row, web_db.sardweb_Context db, bool portage, bool peer = false) { this.Code = row.Code; this.Count = row.Count.gadrmotlagh(); this.WeightOne = row.WeightOne; this.Weight = WeightOne > 0 ? Math.Round((this.WeightOne * this.Count) ?? 0) : null; this.Date = row.Date; this.FkPacking = row.FkPacking; this.FkProduct = row.FkProduct; this.Packing = (web_sard.Models.cl._ListPacking.SingleOrDefault(a => a.Id == row.FkPacking) ?? new web_db._Weighing.TblPacking()).Title; this.Product = (web_sard.Models.cl._ListProduct.SingleOrDefault(a => a.Id == row.FkProduct) ?? new web_db._Weighing.TblProduct()).Title; this.Id = row.Id; this.FkContract = row.FkContract; this.CodeContract = (db.TblContracts.Find(row.FkContract) ?? new web_db._Weighing.TblContract()).Code; this.Txt = row.Txt; this.IsNimPalet = row.IsNimPalet; this.ListInjurys = db.TblPortageRowInjuries.Where(a => a.FkPortageRow == row.Id).Select(a => a.FkInjury).ToArray(); this.ListInjurysTbl = (from n in db.TblPortageRowInjuries.Include(a => a.FkInjuryNavigation) where n.FkPortageRow == row.Id let inj = n.FkInjuryNavigation select new web_sard.Models.tbls.alltbl { code = inj.Ord, key = inj.Id, title = inj.Title }).ToList(); this.CodeLocation = row.CodeLocation; if (this.CodeLocation.IsEmpty() == false) { var z = this.CodeLocation.Split("-"); if (z.Count() > 0) { L1 = Convert.ToInt32(z[0]); } if (z.Count() > 1) { L2 = Convert.ToInt32(z[1]); } if (z.Count() > 2) { L3 = Convert.ToInt32(z[2]); } } UserAddStr = db.TblUsers.Find(row.FkUser).Title; this.fkportage = row.FkPortage; tblportage = new portage(); if (this.fkportage.HasValue && portage) { tblportage = new portage(db.TblPortages.Find(this.fkportage), db); } rowPeerSard = new ASardKhane.Models.tbls.portage.PortageRow(); rowPeerAnbar = new ASabad.Models.tbls.portage.PortageRow(); ListProducts = new List <web_db._Weighing.TblProduct>(); ListPackings = new List <web_db._Weighing.TblPacking>(); if (peer == true && row.FkRowPeer.HasValue) { var por = new portage(db.TblPortages.Find(this.fkportage), db); var v = db.TblPortageRows.Find(row.FkRowPeer); if (v != null) { if (por.KindCode == (int)Models.tbls.portage.kindPortage.kindPortageEnum.InFromSardkhane || por.KindCode == (int)Models.tbls.portage.kindPortage.kindPortageEnum.OutToSardkhane) { rowPeerSard = new web_sard.Areas.ASardKhane.Models.tbls.portage.PortageRow(v, db, false, false); } else if (por.KindCode == (int)Models.tbls.portage.kindPortage.kindPortageEnum.InFromAnbar || por.KindCode == (int)Models.tbls.portage.kindPortage.kindPortageEnum.OutToAnbar) { rowPeerAnbar = new web_sard.Areas.ASabad.Models.tbls.portage.PortageRow(v, db, false); } } } }