Exemplo n.º 1
0
        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)
            }));
        }
Exemplo n.º 2
0
 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) }));
         }
     }
 }