public static InsertTransactionCommand MapToCommand(this TransactionPostRequest transaction) { if (transaction is null) { return(null); } return(new InsertTransactionCommand( transaction.TransactionType, transaction.Date, transaction.Value, transaction.AccountId)); }
public IActionResult PostTransaction(TransactionPostRequest transactionPostRequest) { if (transactionPostRequest == null) { return(BadRequest()); } try { var command = transactionPostRequest.MapToCommand(); var commandHandler = new TransactionCommandHandler(_transactionRepository, _accountRepository); var transaction = commandHandler.Handle(command); var response = transaction.MapToResponse(); return(Ok(response)); } catch (CommandValidationException <eTransactionsError> ex) { return(BadRequest(ex.Error.ToString())); } }