Example #1
0
        public async Task <bool> Pay(Guid idAccount, double amount)
        {
            var account = _accountService.GetAccountById(idAccount).Result;
            var bank    = _bankService.GetBankById(account.IdBank);

            if (account.Invalid && bank.Invalid)
            {
                return(false);
            }

            Pay pay = new Pay(amount, DateTime.Now, account, bank);

            if (PayMade(pay) is false)
            {
                return(false);
            }

            var updatedAccount = await _accountService.UpdateAccount(account);

            if (UpdateMade(updatedAccount) is false)
            {
                return(false);
            }

            var bankStatement         = new BankStatement(Enum.GetName(typeof(TransactionType), TransactionType.Pay), DateTime.Now, amount, account.Balance, account.Id, account.IdOwner);
            var insertedBankStatement = await _bankStatementService.RegisterBankStatement(bankStatement);

            return(updatedAccount && insertedBankStatement);
        }
        public async Task <bool> RegisterBank(BankStatementViewModel bankStatementViewModel)
        {
            var bankStatement = _mapper.Map <BankStatement>(bankStatementViewModel);

            if (bankStatement.Invalid)
            {
                _notifiable.AddNotification(new Notification("Register failed - Invalid Fields"));
                return(false);
            }
            return(await _bankStatementService.RegisterBankStatement(bankStatement));
        }