Exemple #1
0
        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);
        }
Exemple #2
0
        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);
        }
Exemple #3
0
        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);
        }