示例#1
0
        private async Task <IEnumerable <TransactionDoc> > GetTransactionsForAccount(Guid id, int year, int month)
        {
            var bankAccount = await _bankAccountRepository.GetAccount(id);

            if (bankAccount != null)
            {
                return(bankAccount.Transactions.Where(t =>
                {
                    var paymentDate = t.PaymentDate.ToLocalTime();
                    return paymentDate.Year.Equals(year) && paymentDate.Month.Equals(month);
                }));
            }

            var creditAccount = await _creditAccountRepository.GetAccount(id);

            if (creditAccount != null)
            {
                return(creditAccount.Transactions.Where(t =>
                {
                    var paymentDate = t.PaymentDate.ToLocalTime();
                    return paymentDate.Year.Equals(year) && paymentDate.Month.Equals(month);
                }));
            }

            return(new List <TransactionDoc>());
        }
示例#2
0
        public async Task <BankAccountDto> Get(Guid id)
        {
            var account = await _accountRepository.GetAccount(id) ?? new BankAccountDoc();

            var result = AutoMapper.Mapper.Map <BankAccountDto>(account);

            return(result);
        }
示例#3
0
 /// <inheritdoc />
 public void Deposit(string accountNumber, decimal value)
 {
     try
     {
         var account = _repository.GetAccount(accountNumber).ToBllAccount();
         account.Deposit(value);
         _repository.UpdateAccount(account.ToDtoAccount());
     }
     catch (Exception ex)
     {
         throw new BankAccountServiceException("Some error occuried in deposit operation.", ex);
     }
 }
示例#4
0
        public async Task <bool> UpdateAccount(Guid accountId)
        {
            var account = await _accountRepository.GetAccount(accountId);

            var provider = await _providerRepository.GetProvider(account.ProviderId);

            return(await ProcessProvider(provider));
        }
示例#5
0
 public async Task <BankAccountModel> GetAccount(string accountNumber)
 {
     try
     {
         return(await _bankAccountRepository.GetAccount(accountNumber));
     }
     catch (Exception ex)
     {
         ex.Log();
         return(null);
     }
 }
示例#6
0
        public async Task <IActionResult> GetTransactionsForAccount(String accountId,
                                                                    [FromQuery(Name = "year")] int year, [FromQuery(Name = "month")] int month)
        {
            IEnumerable <TransactionDoc> transactions = null;

            var bankAccount = await _bankAccountRepository.GetAccount(accountId);

            if (bankAccount != null)
            {
                transactions = await GetTransactionsForBankAccount(accountId, year, month);
            }

            var creditAccount = await _creditAccountRepository.GetCard(accountId);

            if (creditAccount != null)
            {
                transactions = await GetTransactionsForCreditAccount(accountId, year, month);
            }

            var result = AutoMapper.Mapper.Map <IEnumerable <TransactionDto> >(transactions);

            return(Ok(result));
        }
示例#7
0
 public BankAccount GetAccount(int id)
 {
     return(_repository.GetAccount(id));
 }