private async Task <TransactionResult> TransactionAsync(int fromWalletId, int toWalletId, decimal amount) { try { await _wallets.ReduceAmountAsync(fromWalletId, amount); } catch (Exception ex) { return(TransactionResult.FromException(ex)); } await _wallets.AddAmountAsync(toWalletId, amount); return(TransactionResult.FromSuccess()); }