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)); }
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)); }