public JsonResult CreateTenderQuotation(IEnumerable <VMTenderItem> TenderItems, string TNo, string TDate, string Specs, string Remarks) { var result = new { flag = false, message = "Requisition saving error !" }; var flag = false; var TenderDate = DateTime.ParseExact(TDate, "dd/mm/yyyy", CultureInfo.CurrentCulture); var tenderList = db.Proc_TenderMas.Where(x => x.TNo.Trim() == TNo.Trim()).ToList(); if (tenderList.Count == 0) { flag = false; Proc_TenderMas master = new Proc_TenderMas(); master.TNo = TNo; master.TDate = TenderDate; master.Specs = Specs; master.Remarks = Remarks; master.isApproved = "N"; db.Proc_TenderMas.Add(master); flag = db.SaveChanges() > 0; //var getReqId = db.Proc_RequisitionMas.SingleOrDefault(x => x.Rcode == ReqNo); var TenderMasterId = master.Id; foreach (var item in TenderItems) { Proc_TenderDet detail = new Proc_TenderDet(); detail.Proc_TenderMasId = TenderMasterId; detail.Proc_RequisitionDetId = item.Proc_RequisitionDetId; detail.VendorId = item.VendorId; //detail.TQDate = item.TQDate; if (item.TQDate == null) { detail.TQDate = null; } else { //detail.ChallanDate = DateTime.ParseExact(item.ChallanDate, "dd/mm/yyyy", CultureInfo.CurrentCulture); detail.TQDate = DateTime.ParseExact(item.TQDate, "dd/mm/yyyy", CultureInfo.CurrentCulture); } detail.TQNo = item.TQNo; detail.TQPrice = item.TQPrice; detail.Status = item.Status; db.Proc_TenderDet.Add(detail); db.SaveChanges(); } } if (flag == true) { result = new { flag = true, message = "Save Successful!" }; } return(Json(result, JsonRequestBehavior.AllowGet)); }
public JsonResult ApproveTender(IEnumerable <VMTenderItem> TenderItems, int TenderMasId, string isApproved) { var flag = false; var result = new { flag = false, message = "Tender approve error !" }; var master = db.Proc_TenderMas.Find(TenderMasId); master.isApproved = isApproved; db.Entry(master).State = EntityState.Modified; flag = db.SaveChanges() > 0; //var TMasId = master.Id; if (flag) { foreach (var item in TenderItems) { var check = db.Proc_TenderDet.FirstOrDefault(x => x.Proc_TenderMasId == TenderMasId && x.Proc_RequisitionDetId == item.Proc_RequisitionDetId && x.VendorId == item.VendorId); //var check = db.Proc_TenderDet.FirstOrDefault(x => x.Id==item.TenderDetailId); if (check == null) { Proc_TenderDet detail = new Proc_TenderDet(); detail.Proc_TenderMasId = TenderMasId; detail.Proc_RequisitionDetId = item.Proc_RequisitionDetId; detail.VendorId = item.VendorId; if (item.TQDate == null) { detail.TQDate = null; } else { detail.TQDate = DateTime.ParseExact(item.TQDate, "dd/MM/yyyy", CultureInfo.CurrentCulture); } //detail.TQDate = item.TQDate; detail.TQNo = item.TQNo; detail.TQPrice = item.TQPrice; detail.Status = item.Status; db.Entry(detail).State = EntityState.Added; db.SaveChanges(); } else { var Proc_TenderDet_Id = db.Proc_TenderDet.FirstOrDefault(x => x.Proc_RequisitionDetId == item.Proc_RequisitionDetId && x.Proc_TenderMasId == TenderMasId && x.VendorId == item.VendorId); var getItem = db.Proc_TenderDet.Find(Proc_TenderDet_Id.Id); if (item.TQDate == null) { getItem.TQDate = null; } else { getItem.TQDate = DateTime.ParseExact(item.TQDate, "dd/MM/yyyy", CultureInfo.CurrentCulture); } //getItem.TQDate = item.TQDate; getItem.TQNo = item.TQNo; getItem.TQPrice = item.TQPrice; getItem.Status = item.Status; db.Entry(getItem).State = EntityState.Modified; db.SaveChanges(); } } } if (flag == true) { result = new { flag = true, message = "Approve Successful!" }; } return(Json(result, JsonRequestBehavior.AllowGet)); }
public JsonResult EditTender(IEnumerable <VMTenderItem> TenderItems, int?[] DeleteItems, int TenderId, string TNo, string TDate, string Specs, string TenderRemarks) { var result = new { flag = false, message = "Tender saving error !" }; if (DeleteItems != null) { foreach (var i in DeleteItems) { var delteItem = db.Proc_TenderDet.Find(i); db.Proc_TenderDet.Remove(delteItem); db.SaveChanges(); } } using (var dbContextTransaction = db.Database.BeginTransaction()) { try { var flag = false; var master = db.Proc_TenderMas.Find(TenderId); master.TNo = TNo; master.TDate = DateTime.ParseExact(TDate, "dd/MM/yyyy", CultureInfo.CurrentCulture); master.Specs = Specs; master.Remarks = TenderRemarks; master.isApproved = "N"; db.Entry(master).State = EntityState.Modified; flag = db.SaveChanges() > 0; var TenderMasId = master.Id; if (flag) { foreach (var item in TenderItems) { //var check = db.Proc_TenderDet.FirstOrDefault(x => x.Proc_TenderMasId == TenderMasId && x.Proc_RequisitionDetId == item.Proc_RequisitionDetId && x.VendorId == item.VendorId); var check = db.Proc_TenderDet.SingleOrDefault(x => x.Id == item.TenderDetailId); if (check == null) { Proc_TenderDet detail = new Proc_TenderDet(); detail.Proc_TenderMasId = TenderMasId; detail.Proc_RequisitionDetId = item.Proc_RequisitionDetId; detail.VendorId = item.VendorId; if (item.TQDate == null) { detail.TQDate = null; } else { detail.TQDate = DateTime.ParseExact(item.TQDate, "dd/MM/yyyy", CultureInfo.CurrentCulture); } //detail.TQDate = item.TQDate; detail.TQNo = item.TQNo; detail.TQPrice = item.TQPrice; detail.Status = item.Status; db.Entry(detail).State = EntityState.Added; db.SaveChanges(); } else { //var Proc_TenderDet_Id = db.Proc_TenderDet.FirstOrDefault(x => x.Proc_RequisitionDetId == item.Proc_RequisitionDetId && x.Proc_TenderMasId == TenderMasId); //var getItem = db.Proc_TenderDet.Find(Proc_TenderDet_Id.Id); var getItem = db.Proc_TenderDet.Find(item.TenderDetailId); if (item.TQDate == null) { getItem.TQDate = null; } else { getItem.TQDate = DateTime.ParseExact(item.TQDate, "dd/MM/yyyy", CultureInfo.CurrentCulture); } //getItem.TQDate = item.TQDate; getItem.Proc_RequisitionDetId = item.Proc_RequisitionDetId; if (getItem.VendorId != item.VendorId) { var vendorCheck = (from purMas in db.Proc_PurchaseOrderMas join tenderDet in db.Proc_TenderDet on purMas.VendorId equals tenderDet.VendorId where tenderDet.Id == item.TenderDetailId select tenderDet).ToList(); if (vendorCheck.Count == 0) { getItem.VendorId = item.VendorId; } else { result = new { flag = false, message = "PO has been created against this vendor!" }; return(Json(result, JsonRequestBehavior.AllowGet)); } } //getItem.VendorId = item.VendorId; getItem.TQNo = item.TQNo; getItem.TQPrice = item.TQPrice; getItem.Status = item.Status; db.Entry(getItem).State = EntityState.Modified; db.SaveChanges(); } } } dbContextTransaction.Commit(); if (flag == true) { result = new { flag = true, message = "Save Successful!" }; } } catch (Exception ex) { dbContextTransaction.Rollback(); result = new { flag = false, message = ex.Message }; } } return(Json(result, JsonRequestBehavior.AllowGet)); }