public ActionResult DonateProcess(StripeModel model) { try { model.Description = Dictionary.Donation; _stripeService.Charge(model); _donationService.CreateDonation(new Donation { Currency = model.LocalisedCurrencyThreeLetters, Customer = model.StripeBillingName, CustomerEmail = model.StripeEmail, DonationDescription = model.Description, DonatedOn = DateTime.Now, DonationAmount = model.AmountToDonate }); return(RedirectToAction("DonationSuccess")); } catch (Exception ex) { _logger.Error($"SupportController => Donate => Donation failed: {ex.Message}"); ModelState.AddModelError("", ex.Message); } return(View("Donate", model)); }
public ActionResult Save(Donation donation, int donorId) { if (!Session.IsSignedIn()) { return(Json(new { saved = false })); } if (!donationService.IsValidDonation(donation, out var cause)) { return(Json(new { saved = false, cause = cause })); } else { var saved = donationService.CreateDonation(donation); return(Json(new { saved })); } }
public ActionResult ProcessDonation(PurchaseModel purchaseModel) { try { var contact = _contactService.Find(purchaseModel.ContactId); _donationService.CreateDonation(new Donation { Currency = purchaseModel.Currency, Customer = purchaseModel.CustomerName, CustomerEmail = purchaseModel.CustomerEmailAddress, DonationDescription = purchaseModel.Description, DonatedOn = DateTime.Now, DonationAmount = purchaseModel.Amount }, contact); return(Json(new { success = true })); } catch (Exception ex) { _logger.Error($"SupportController => ProcessDonation => Error: {ex.GetFullErrorMessage()}"); return(Json(new { success = false, error = ex.Message })); } }