public static Faker <Transaction> TransactionModelFakerTyped(TransactionInputViewModel inputViewModel) => new Faker <Transaction>() .CustomInstantiator(x => new Transaction ( (ETransactionType)inputViewModel.TransactionType, x.Finance.Amount(0, 50), x.Random.Guid() ));
public async Task <ActionResult <TransactionViewModel> > Post([FromBody] TransactionInputViewModel transaction) { if (transaction == null) { return(NotFound()); } var transactionViewModel = await _accountAppService.Transaction(transaction); return(Created(nameof(GetById), new AccountIdViewModel(transactionViewModel.AccountId))); }
public async Task <TransactionViewModel> Transaction(TransactionInputViewModel transactionVM) { TransactionViewModel viewModel = null; var transaction = _mapper.Map <Transaction>(transactionVM); var validation = await new TransactionInsertValidation().ValidateAsync(transaction); if (!validation.IsValid) { _notification.AddNotifications(validation); return(viewModel); } switch (transaction.TransactionType) { case ETransactionType.Debit: await _transactionService.DebitAccount(transaction); break; case ETransactionType.Deposit: case ETransactionType.BankIncome: { await _transactionService.DepositAccount(transaction); break; } case ETransactionType.Transfer: await _transactionService.TransferAccount(transaction); break; default: _notification.AddNotification("transaction", "Tipo de transação não disponível."); return(null); } viewModel = _mapper.Map <TransactionViewModel>(transaction); return(viewModel); }