public IActionResult AddDonation(AddDonationRequest donation) { var validationResult = _validation.Validate(donation.Amount); if (!validationResult.IsValid) { return(BadRequest(validationResult.ErrorList)); } var id = _donationService.AddDonation(new Data.Donation() { Amount = donation.Amount, Fullname = donation.Fullname, Postcode = donation.Postcode }); return(Ok(new AddDonationResponse() { Id = id, GiftAidAmount = _calculator.CalculateGiftAid(donation.Amount) })); }
public IHttpActionResult Post(AddDonationRequest donation) { using (var scope = DependencyConfig.Container.BeginLifetimeScope()) { var service = scope.Resolve <IUserTargetDonationsService>(); var result = service.AddDonation(donation.UserName, donation.FromUser, donation.DonationValue, donation.TargetCode); if (result.Status == Common.Enums.OperationResultType.Success) { if (result.WidgetNotificationResult != null) { Helpers.WidgetSignalNotificator.DonationAdded(result.WidgetNotificationResult, result.TargetUserId, Hub); Helpers.WalletSignalNotificator.WalletBalanceChanged(result.TargetUserId, result.WalletDestintaionUserNotificationResult, Hub); Helpers.WalletSignalNotificator.WalletBalanceChanged(donation.FromUser, result.WalletSenderUserNotificationResult, Hub); } return(Ok()); } else { return(Content(HttpStatusCode.BadRequest, new { ErrorMessage = string.Join("; ", result.Errors) })); } } }