public async Task <IActionResult> Refresh([FromBody] DonationVerificationModel model) { var donation = await GetDonation(model); var results = await RefreshDonations(new[] { donation }, true); return(Ok(results.FirstOrDefault())); }
public async Task <IActionResult> Cancel([FromBody] DonationVerificationModel model) { var result = await GetDonation(model); if (result == null) { return(BadRequest("Could not find donation record.")); } result.State = PaymentState.Cancelled; await DbContext.SaveChangesSafe(); return(Ok(result)); }
private async Task <Donation> GetDonation(DonationVerificationModel model) { if (model.Id.HasValue) { return(await DbContext.Donations.SingleOrDefaultAsync(x => x.Id == model.Id)); } if (!String.IsNullOrWhiteSpace(model.TokenId)) { return(await DbContext.Donations.SingleOrDefaultAsync(x => x.TokenId == model.TokenId)); } if (!String.IsNullOrWhiteSpace(model.PaymentId)) { return(await DbContext.Donations.SingleOrDefaultAsync(x => x.PaymentId == model.PaymentId)); } return(null); }