public JsonResult PurchaseUpdate(IEnumerable <VMUpdatePO> AddedDetItems, int?[] DeleteItems, int ProcPurchaseMasterId, string PONo, DateTime PODate, int VendorId, int TenderId, string VendorAttention, string AttnManager, string AttnCell, string Email, string Subject, int LeadTime, string Content, string RcvConcernPerson, string RcvConcernPersonCell, decimal POTotalAmt) { var result = new { flag = false, message = "Updating error !" }; var flag = false; if (DeleteItems != null) { foreach (var i in DeleteItems) { var delteItem = db.Proc_PurchaseOrderDet.SingleOrDefault(x => x.ItemId == i && x.Proc_PurchaseOrderMasId == ProcPurchaseMasterId); var purchaseDetId = db.Proc_PurchaseOrderDet.Find(delteItem.Id); db.Proc_PurchaseOrderDet.Remove(purchaseDetId); db.SaveChanges(); } } var master = db.Proc_PurchaseOrderMas.Find(ProcPurchaseMasterId); master.Proc_TenderMasId = TenderId; master.PONo = PONo; master.PODate = PODate; master.VendorId = VendorId; master.OrderTo = VendorAttention; master.Attention = AttnManager; master.AttnCell = AttnCell; master.AttnEmail = Email; master.Subject = Subject; master.LeadTime = LeadTime; master.Content = Content; master.RecvConcernPerson = RcvConcernPerson; master.RecvConcernPersonCell = RcvConcernPersonCell; master.POTotalAmt = POTotalAmt; db.Entry(master).State = EntityState.Modified; flag = db.SaveChanges() > 0; var PurchaseMasId = master.Id; if (flag) { foreach (var item in AddedDetItems) { var check = db.Proc_PurchaseOrderDet.FirstOrDefault(x => x.Proc_PurchaseOrderMasId == PurchaseMasId /*&& x.Id== ProcPurchaseDetId*/); if (check == null) { Proc_PurchaseOrderDet detail = new Proc_PurchaseOrderDet(); detail.ItemId = item.ItemId; detail.Proc_PurchaseOrderMasId = item.ProcPurchaseMasterId; detail.POAmt = item.TotalPrice; detail.POQty = item.POQuantity; db.Entry(detail).State = EntityState.Added; db.SaveChanges(); } else { var Proc_PurchaseDet_Id = db.Proc_PurchaseOrderDet.FirstOrDefault(x => x.Proc_PurchaseOrderMasId == PurchaseMasId); var getItem = db.Proc_PurchaseOrderDet.Find(Proc_PurchaseDet_Id.Id); getItem.POAmt = item.TotalPrice; getItem.POQty = item.POQuantity; 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 PurchaseCreateOrder(IEnumerable <VMPurchaseOrder> AddedDetItems, string PONo, DateTime PODate, int VendorId, int TenderId, string VContactPerson, string ProjectManager, string AttnCell, string Email, string Subject, int LeadTime, string Content, string RcvConcenPerson, string RcvPersonCell, decimal POTotalAmt) { var result = new { flag = false, message = "Purchase order saving error !" }; var flag = false; var orderList = db.Proc_PurchaseOrderMas.Where(x => x.PONo.Trim() == PONo.Trim()).ToList(); if (orderList.Count == 0) { flag = false; Proc_PurchaseOrderMas master = new Proc_PurchaseOrderMas(); master.Proc_TenderMasId = TenderId; master.PONo = PONo; master.PODate = PODate; master.VendorId = VendorId; master.LeadTime = LeadTime; master.OrderTo = ProjectManager; master.Attention = VContactPerson; master.AttnCell = AttnCell; master.AttnEmail = Email; master.Subject = Subject; master.Content = Content; master.RecvConcernPerson = RcvConcenPerson; master.RecvConcernPersonCell = RcvPersonCell; master.POTotalAmt = POTotalAmt; db.Proc_PurchaseOrderMas.Add(master); //db.SaveChanges(); flag = db.SaveChanges() > 0; var PurchaseOrderId = master.Id; foreach (var item in AddedDetItems) { Proc_PurchaseOrderDet detail = new Proc_PurchaseOrderDet(); detail.Proc_PurchaseOrderMasId = PurchaseOrderId; detail.ItemId = item.ItemId; detail.POQty = item.POQuantity; detail.POAmt = item.TotalPrice; db.Proc_PurchaseOrderDet.Add(detail); //db.SaveChanges(); flag = db.SaveChanges() > 0; } } if (flag == true) { result = new { flag = true, message = "Save Successful!" }; } return(Json(result, JsonRequestBehavior.AllowGet)); }