示例#1
0
        public List <AccountDetailDTO> GetUserAccounts([FromBody] String userId)
        {
            AccountDetailDTO        accountDetail;
            List <AccountDetailDTO> accountDetailList = new List <AccountDetailDTO>();

            List <BankAccount> accountsList = _accountDBAccess.FindByUser(userId);

            foreach (BankAccount account in accountsList)
            {
                List <Transaction> accountTransactions = _transactionDBAccess.FindByAccount(account.BankAccountId);

                decimal balance = _businessService.GetAccountBalance(accountTransactions, account.InitialAmount);
                accountDetail = new AccountDetailDTO
                {
                    AccountId           = account.BankAccountId,
                    Name                = account.Name,
                    InitialAmount       = account.InitialAmount,
                    Balance             = balance,
                    LastTransactionDate = accountTransactions.Count != 0 ? DateConverter.DateTimeToLong(accountTransactions.Last().TransactionDate) : 0,
                    UserId              = account.UserId
                };
                accountDetailList.Add(accountDetail);
            }
            return(accountDetailList);
        }