public ActionResult Modify(string RequisitionID, string SupplierID, int UserID, int ProjectID, DateTime ReqDate, Models.PCRLine[] pcrdetails) { try { string result = "information is incomplete."; int LineID = 1; decimal Sum = 0; if (pcrdetails != null && SupplierID != null && UserID != 0 && ProjectID != 0) { var db = new CodeFirst.CodeFirst(); var intReqID = Int32.Parse(RequisitionID); var myPCR = db.Petty_Cash_Requisition.Where(a => a.RequisitionID == intReqID).FirstOrDefault(); myPCR.RequisitionID = intReqID; myPCR.ReqDate = DateTime.Parse(ReqDate.ToString("yyyy-MM-dd")); myPCR.SupplierID = Convert.ToInt32(SupplierID); myPCR.ProjectID = ProjectID; myPCR.UserID = UserID; var lines = db.Petty_Cash_Requisition_Line.Where(p => p.RequisitionID == intReqID); db.Petty_Cash_Requisition_Line.RemoveRange(lines); //OrderLine foreach (var item in pcrdetails) { var myItem = new CodeFirst.Petty_Cash_Requisition_Line(); myItem.RequisitionID = (int)myPCR.RequisitionID; myItem.LineID = LineID; myItem.Details = item.Details; myItem.Quantity = (int)item.Quantity; myItem.UnitPrice = (decimal)item.UnitPrice; myItem.Total = decimal.Parse(item.Total.ToString().Substring(1, item.Total.ToString().Length - 1)); myItem.SupplierID = Convert.ToInt32(SupplierID); Sum += decimal.Parse(item.Total.ToString().Substring(1, item.Total.ToString().Length - 1)); LineID++; db.Petty_Cash_Requisition_Line.Add(myItem); } myPCR.TotalAmount = Sum; if (Sum > 2000) { result = "Total Amount is over R2000. Only EFTs can be over this amount."; } else { db.SaveChanges(); result = "Success! Petty Cash Requisition updated!"; } } return(Json(result, JsonRequestBehavior.AllowGet)); } catch { var result = "Error has occured!"; return(Json(result, JsonRequestBehavior.AllowGet)); } }
public JsonResult SavePCRALL(string SupplierID, int?UserID, int?ProjectID, DateTime?ReqDate, PCRLine[] pcrdetails) { string result = "information is incomplete."; int LineID = 1; decimal Sum = 0; if (pcrdetails != null && SupplierID != null && UserID != 0 && ProjectID != 0) { var db = new CodeFirst.CodeFirst(); Petty_Cash_Requisition newPCR = new Petty_Cash_Requisition(); if (db.Petty_Cash_Requisition.ToList().Count > 0) { var waduuu = db.Petty_Cash_Requisition.OrderByDescending(a => a.RequisitionID).FirstOrDefault(); newPCR.RequisitionID = waduuu.RequisitionID + 1; newPCR.ApprovalStatus = "Not Approved"; newPCR.ReqDate = DateTime.Parse(ReqDate.Value.ToString("yyyy-MM-dd")); newPCR.SupplierID = Convert.ToInt32(SupplierID); newPCR.ProjectID = ProjectID; newPCR.UserID = UserID; } else { newPCR.RequisitionID = 1; newPCR.ApprovalStatus = "Not Approved"; newPCR.ReqDate = DateTime.Parse(ReqDate.Value.ToString("yyyy-MM-dd")); newPCR.SupplierID = Convert.ToInt32(SupplierID); newPCR.ProjectID = ProjectID; newPCR.UserID = UserID; } //get list of all Suppliers var supplierList = db.Suppliers.ToList(); //get list of all Projects var projectLists = db.Projects.ToList(); //get list of all users var userList = db.Users.AsEnumerable().Select(u => new SelectListItem { Value = u.UserID.ToString(), Text = u.Initials + " " + u.LastName }).ToList(); db.Petty_Cash_Requisition.Add(newPCR); //OrderLine foreach (var item in pcrdetails) { CodeFirst.Petty_Cash_Requisition_Line tempLine = new CodeFirst.Petty_Cash_Requisition_Line(); tempLine.RequisitionID = (int)newPCR.RequisitionID; tempLine.LineID = LineID; tempLine.Details = item.Details; tempLine.Quantity = (int)item.Quantity; tempLine.UnitPrice = (decimal)item.UnitPrice; tempLine.Total = decimal.Parse((item.Total.ToString().Substring(1, item.Total.ToString().Length - 1)), CultureInfo.InvariantCulture); tempLine.SupplierID = (int)item.SupplierID; Sum += decimal.Parse((item.Total.ToString().Substring(1, item.Total.ToString().Length - 1)), CultureInfo.InvariantCulture); LineID++; db.Petty_Cash_Requisition_Line.Add(tempLine); } newPCR.TotalAmount = Sum; if (Sum > 2000) { result = "Total Amount is over R2000. Please Use EFT Requisition for this Transaction"; } else { db.SaveChanges(); result = "Success! Order is complete!"; } } return(Json(result, JsonRequestBehavior.AllowGet)); }