public ActionResult Donate(DonateFormViewModel model) { var fundraiser = _fundraiserRepository.FindById(model.FundraiserId); var campaign = _campaignRepository.FindById(fundraiser.CampaignId); if (model.DonationAmount > 0) { var chargeService = new StripeChargeService(); var charge = chargeService.Create(new StripeChargeCreateOptions() { Amount = model.DonationAmount * 100, Currency = "usd", Description = fundraiser.Name, SourceTokenOrExistingSourceId = model.StripeToken }); string userid = null; if (User.Identity.IsAuthenticated) { userid = User.Identity.GetUserId(); } _donationRepository.Create(campaign, fundraiser, DonationStatus.Completed, model.DonationAmount, "usd", model.DonationAmount, userid, model.DonorDisplayName, charge.Id); } var fundraiserViewModel = AutoMapper.Mapper.Map <Fundraiser, FundraiserFormViewModel>(fundraiser); return(View("Thanks", fundraiserViewModel)); }
public ActionResult Donate(DonateFormViewModel model) { Donate request = new Donate() { DonationAmount = model.DonationAmount, FundraiserId = model.FundraiserId, DonorDisplayName = model.DonorDisplayName, StripeToken = model.StripeToken }; request.UserId = User.Identity.IsAuthenticated ? User.Identity.GetUserId() : string.Empty; bool success = _mediator.Send(request).Result; var fundraiserViewModel = new FundraiserFormViewModel() { Name = "Need to get Fundraiser name?" // todo }; // AutoMapper.Mapper.Map<Fundraiser, FundraiserFormViewModel>(fundraiser); return(View("Thanks", fundraiserViewModel)); }