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 }); }
public async Task <WithdrawPaymentResponse> WithdrawPaymentAsync([FromBody] WithdrawPaymentRequest request) { return(await accountService.WithdrawPaymentAsync(request)); }