コード例 #1
0
        /// <summary>
        /// Method creates new account with given parameters and saves data to storage.
        /// </summary>
        /// <param name="accountOwner">
        /// Account owner - required data to create account.
        /// </param>
        /// <param name="type">
        /// Account type - required data to create account.
        /// </param>
        /// <param name="creator">
        /// Account number generation strategy injected as method argument.
        /// </param>
        public void OpenAccount(string accountOwner, AccountType type, IAccountNumberCreateService creator)
        {
            Account newAccount = AccountMapper.CreateAccount(type, creator.GenerateAccountNumber(AccountDTO.id), accountOwner, 0, 0);

            AccountDTO.id++;
            this.repository.Create(newAccount.ToAccountDTO());
        }
コード例 #2
0
        /// <summary>
        /// Creating new account according to given account type
        /// </summary>
        /// <param name="type">AccountType instance represents account type</param>
        /// <param name="name">Name of customer</param>
        /// <param name="surname">Surname of customer</param>
        /// <param name="email">Email of customer</param>
        /// <param name="passport">Passport number (additional)</param>
        public void OpenAccount(AccountEntity account)
        {
            CheckIfExist(account);
            HolderEntity holder = holdersRepository.Read().ToHolder().FirstOrDefault(x => x.IdentificationNumber == account.AccountHolder.IdentificationNumber);

            if (holder == null)
            {
                holder = account.AccountHolder;
            }

            account.AccountNumber = numberGenerator.GenerateAccountNumber();
            accountsRepository.Create(account.ToDalAccount());
            holder.Accounts.Add(account.AccountNumber); //тут заменить для работы с DAL.Fake (был список строк с номерами аккаунтов)

            holdersRepository.Update(holder.ToDalHolder());
        }