public ActionResult Modify(string DonationID, int?DonorPID, int?DonorOrgID, DateTime Date, inDonationItem[] pcrdetails) { try { string result = "information is incomplete."; int LineID = 1; decimal Sum = 0; if (pcrdetails != null && DonationID != null && DonorPID != 0 || DonorOrgID != 0) { var db = new CodeFirst.CodeFirst(); var intDonationID = Int32.Parse(DonationID); db.Configuration.LazyLoadingEnabled = true; var myDonation = db.Donations.Where(a => a.DonationID == intDonationID).FirstOrDefault(); myDonation.DonationID = intDonationID; myDonation.DateDate = Date; myDonation.DonorPID = DonorPID; myDonation.DonorOrgID = DonorOrgID; foreach (var item in db.Donation_Line.Where(d => d.DonationID == intDonationID)) { var forTotal = db.Donation_Item.Where(d => d.DonationItemID == item.DonationItemID).FirstOrDefault(); forTotal.TotalAmount -= item.DonationAmount; } //OrderLine foreach (var item in pcrdetails) { var myItem = new CodeFirst.Donation_Line(); myItem.DonationID = (int)myDonation.DonationID; myItem.LineID = LineID; myItem.Description = item.Description; myItem.DonationItemID = db.Donation_Item.Where(d => d.TypeID == db.Donation_Type.Where(d2 => d2.TypeName == item.ItemType).FirstOrDefault().TypeID).FirstOrDefault().DonationItemID;; myItem.DonationAmount = item.DonationAmount; var forTotal = db.Donation_Item.Where(di => di.DonationItemID == myItem.DonationItemID).FirstOrDefault(); forTotal.TotalAmount += item.DonationAmount; LineID++; db.Donation_Line.Add(myItem); } db.Donation_Line.RemoveRange(db.Donation_Line.Where(d => d.DonationID == myDonation.DonationID)); db.SaveChanges(); result = "Success! Donation updated!"; } return(Json(result, JsonRequestBehavior.AllowGet)); } catch (Exception error) { var result = "Error has occured!"; return(Json(result, JsonRequestBehavior.AllowGet)); } }
public JsonResult SavePCRALL(DateTime Date, int?DonorPID, int?DonorOrgID, inDonationItem[] pcrdetails) { try { string result = "Error!information is incomplete"; int LineID = 1; if (pcrdetails != null && DonorPID != 0 || DonorOrgID != 0) { var db = new CodeFirst.CodeFirst(); db.Configuration.LazyLoadingEnabled = false; CodeFirst.Donation newDonation = new CodeFirst.Donation(); if (db.Donations.ToList().Count > 0) { var waduuu = db.Donations.OrderByDescending(a => a.DonationID).FirstOrDefault(); newDonation.DonationID = waduuu.DonationID + 1; newDonation.DateDate = Date; newDonation.DonorPID = DonorPID; newDonation.DonorOrgID = DonorOrgID; } else { newDonation.DonationID = 1; newDonation.DateDate = Date; newDonation.DonorPID = DonorPID; newDonation.DonorOrgID = DonorOrgID; } //OrderLine foreach (var item in pcrdetails) { CodeFirst.Donation_Line tempLine = new CodeFirst.Donation_Line(); tempLine.DonationID = newDonation.DonationID; tempLine.Description = item.Description; tempLine.LineID = LineID; var typeID = db.Donation_Type.Where(dt => dt.TypeName == item.ItemType).FirstOrDefault().TypeID; var itemID = db.Donation_Item.Where(di => di.TypeID == typeID && di.Description == item.ItemName).FirstOrDefault().DonationItemID; tempLine.DonationItemID = itemID; var donationAmount = item.DonationAmount; tempLine.DonationAmount = donationAmount; var toAddTotal = db.Donation_Item.Where(di => di.DonationItemID == itemID).FirstOrDefault(); toAddTotal.TotalAmount += donationAmount; LineID++; newDonation.Donation_Line.Add(tempLine); } db.Donations.Add(newDonation); db.SaveChanges(); result = "Success! Order is complete!"; } return(Json(result, JsonRequestBehavior.AllowGet)); } catch (Exception Error) { return(Json(Error.Message, JsonRequestBehavior.AllowGet)); } }