public ActionResult CreateDonation(PaymentDonationViewModel model) { if (!ModelState.IsValid) { return(View(model)); } var payment = Database.Payments.Find(model.PaymentId); var personId = Database.People.Find(model.PersonId).Id; if (model.Designations.Sum(d => d.Amount) != payment.Amount) { return(View(model)); } foreach (var designation in model.Designations.Where(d => d.Amount > 0)) { PaymentHelper.RecordPaymentAsDonation(payment, personId, designation.Fund, designation.Designation, designation.Amount); } return(RedirectToAction("Index")); }
// GET: /Payment/CreateDonation/5 public ActionResult CreateDonation(int?id) { if (id == null) { return(HttpNotFound()); } var payment = Database.Payments.Find(id); if (payment == null) { return(HttpNotFound()); } var model = new PaymentDonationViewModel(payment, 5) { DonorList = FinancialHelper.GetDonorList(), FundList = FinancialHelper.GetFundList() }; return(PartialView(model)); }