Ejemplo n.º 1
0
 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()
                     ));
Ejemplo n.º 2
0
        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)));
        }
Ejemplo n.º 3
0
        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);
        }