Beispiel #1
0
        public JsonResult EditEntry(IEnumerable <VMMaterialsEntry> EntryItems, int?[] DeleteItems, int EntryMasId, int ProcProjectId, int ProjectId, string TNo, int SiteId, string EDate)
        {
            var result = new
            {
                flag    = false,
                message = "Entry saving error !"
            };
            var flag = false;

            if (DeleteItems != null)
            {
                foreach (var i in DeleteItems)
                {
                    //var delteItem = db.Proc_MaterialEntryDet.SingleOrDefault(x => x.ItemId == i && x.Proc_PurchaseOrderMasId == ProcPurchaseMasterId);
                    var entryDetId = db.Proc_MaterialEntryDet.Find(i);
                    db.Proc_MaterialEntryDet.Remove(entryDetId);
                    db.SaveChanges();
                }
            }
            var master = db.Proc_MaterialEntryMas.Find(EntryMasId);

            master.EDate = DateTime.ParseExact(EDate, "dd/MM/yyyy", CultureInfo.CurrentCulture);
            //master.EDate = EDate;
            db.Entry(master).State = EntityState.Modified;
            flag = db.SaveChanges() > 0;
            //var TenderMasId = master.Id;

            if (flag)
            {
                foreach (var item in EntryItems)
                {
                    var check = db.Proc_MaterialEntryDet.FirstOrDefault(x => x.Proc_MaterialEntryMasId == EntryMasId && x.Proc_PurchaseOrderDet.ItemId == item.ItemId && x.ChallanNo == item.ChallanNo);
                    //var check = data.SingleOrDefault(x=>x.ChallanNo==item.ChallanNo && x.Proc_PurchaseOrderDet.ItemId==item.ItemId);

                    if (check == null)
                    {
                        Proc_MaterialEntryDet detail = new Proc_MaterialEntryDet();
                        detail.Proc_MaterialEntryMasId = EntryMasId;
                        detail.ChallanNo = item.ChallanNo;
                        if (item.ChallanDate == null)
                        {
                            detail.ChallanDate = null;
                        }
                        else
                        {
                            detail.ChallanDate = DateTime.ParseExact(item.ChallanDate, "dd/MM/yyyy", CultureInfo.CurrentCulture);
                        }
                        //detail.ChallanDate = item.ChallanDate;
                        detail.EntryQty = item.EntryQty;
                        detail.Status   = item.Status;

                        var PurchaseOrderMasId = db.Proc_PurchaseOrderMas.FirstOrDefault(x => x.PONo == item.PONo);
                        var PurchaseOrderDetId = db.Proc_PurchaseOrderDet.FirstOrDefault(y => y.Proc_PurchaseOrderMasId == PurchaseOrderMasId.Id && y.ItemId == item.ItemId);

                        detail.Proc_PurchaseOrderDetId = PurchaseOrderDetId.Id;
                        db.Entry(detail).State         = EntityState.Added;
                        db.SaveChanges();
                    }
                    else
                    {
                        var Proc_EntryDet_Id = db.Proc_MaterialEntryDet.FirstOrDefault(x => x.Proc_MaterialEntryMasId == EntryMasId && x.Proc_PurchaseOrderDet.ItemId == item.ItemId);
                        var getItem          = db.Proc_MaterialEntryDet.Find(Proc_EntryDet_Id.Id);

                        getItem.ChallanNo = item.ChallanNo;
                        if (item.ChallanDate == null)
                        {
                            getItem.ChallanDate = null;
                        }
                        else
                        {
                            getItem.ChallanDate = DateTime.ParseExact(item.ChallanDate, "dd/MM/yyyy", CultureInfo.CurrentCulture);
                        }
                        //getItem.ChallanDate = item.ChallanDate;
                        getItem.EntryQty = item.EntryQty;
                        getItem.Status   = item.Status;

                        db.Entry(getItem).State = EntityState.Modified;
                        db.SaveChanges();
                    }
                }
            }

            if (flag == true)
            {
                result = new
                {
                    flag    = true,
                    message = "Save Successful!"
                };
            }


            return(Json(result, JsonRequestBehavior.AllowGet));
        }
Beispiel #2
0
        public JsonResult CreateMaterialsEntry(IEnumerable <VMMaterialsEntry> RequisitionItems, int ProjectId, int SiteId, string EDate)
        {
            var result = new
            {
                flag    = false,
                message = "Requisition saving error !"
            };
            var flag      = false;
            var EntryDate = DateTime.ParseExact(EDate, "dd/mm/yyyy", CultureInfo.CurrentCulture);
            var planList  = (from procProject in db.ProcProject
                             join site in db.ProjectSite on procProject.ProjectSiteId equals SiteId
                             join project in db.Project on site.ProjectId equals ProjectId
                             join materialEntry in db.Proc_MaterialEntryMas on procProject.Id equals materialEntry.ProcProjectId
                             where project.Id == ProjectId && site.Id == SiteId && materialEntry.EDate == EntryDate
                             select procProject).ToList();

            if (planList.Count == 0)
            {
                flag = false;
                Proc_MaterialEntryMas master = new Proc_MaterialEntryMas();

                var newProj = (from procProject in db.ProcProject
                               join site in db.ProjectSite on procProject.ProjectSiteId equals SiteId
                               join project in db.Project on site.ProjectId equals ProjectId
                               where project.Id == ProjectId
                               select procProject);

                foreach (var i in newProj)
                {
                    master.ProcProjectId = i.Id;
                }

                master.EDate = EntryDate;
                db.Proc_MaterialEntryMas.Add(master);

                flag = db.SaveChanges() > 0;

                var EntryMasId = master.Id;


                foreach (var item in RequisitionItems)
                {
                    Proc_MaterialEntryDet detail = new Proc_MaterialEntryDet();
                    detail.Proc_MaterialEntryMasId = EntryMasId;
                    var purchaseOrderMasId = db.Proc_PurchaseOrderMas.FirstOrDefault(x => x.PONo == item.PONo).Id;
                    detail.Proc_PurchaseOrderDetId = db.Proc_PurchaseOrderDet.FirstOrDefault(x => x.Proc_PurchaseOrderMasId == purchaseOrderMasId && x.ItemId == item.ItemId).Id;
                    detail.ChallanNo = item.ChallanNo;
                    if (item.ChallanDate == null)
                    {
                        detail.ChallanDate = null;
                    }
                    else
                    {
                        //detail.ChallanDate = DateTime.ParseExact(item.ChallanDate, "dd/mm/yyyy", CultureInfo.CurrentCulture);
                        detail.ChallanDate = DateTime.ParseExact(item.ChallanDate, "dd/mm/yyyy", CultureInfo.CurrentCulture);
                    }

                    detail.EntryQty = item.EntryQty;
                    detail.Status   = item.Status;

                    db.Proc_MaterialEntryDet.Add(detail);
                    db.SaveChanges();
                }
            }


            if (flag == true)
            {
                result = new
                {
                    flag    = true,
                    message = "Save Successful!"
                };
            }


            return(Json(result, JsonRequestBehavior.AllowGet));
        }