public async Task <WithdrawPaymentResponse> WithdrawPaymentAsync(WithdrawPaymentRequest request)
        {
            var result = false;

            try
            {
                var account = await accountDataAccess.GetByUserCurrencyAsync(request.UserId, request.CurrencyId);

                if (account == null)
                {
                    return(new WithdrawPaymentResponse
                    {
                        Error = NoAccountFound,
                        IsSuccess = false
                    });
                }

                account.Balance -= request.Amount;
                result           = await accountDataAccess.SaveOrUpdateAsync(account);
            }
            catch (Exception ex)
            {
                //TODO: AddToLog
            }

            return(new WithdrawPaymentResponse
            {
                IsSuccess = result
            });
        }
Exemple #2
0
 public async Task <WithdrawPaymentResponse> WithdrawPaymentAsync([FromBody] WithdrawPaymentRequest request)
 {
     return(await accountService.WithdrawPaymentAsync(request));
 }