/// <summary>
        /// Add new client's account
        /// </summary>
        /// <param name="accountCreationRequestDto"></param>
        /// <param name="accountNumber"></param>
        /// <returns></returns>
        public async Task <AccountResponseDto> AddClientAccount(AccountCreationRequestDto accountCreationRequestDto, int accountNumber)
        {
            var accountEntity = _mapper.Map <Account>(accountCreationRequestDto);

            accountEntity.AccountNumber = accountNumber;
            accountEntity.CreatedDate   = DateTime.Now;
            _bankContext.Add(accountEntity);
            _bankContext.SaveChanges();

            var depositAccountSetting = _mapper.Map <DepositAccountSetting>(accountCreationRequestDto);

            depositAccountSetting.AccountId   = accountEntity.Id;
            depositAccountSetting.CreatedDate = DateTime.Now;
            _bankContext.Add(depositAccountSetting);
            _bankContext.SaveChanges();

            return(new AccountResponseDto
            {
                AccountNumber = accountEntity.AccountNumber,
                Balance = accountEntity.Balance,
            });
        }
        /// <summary>
        /// Create new account for client
        /// </summary>
        /// <param name="accountCreationRequestDto"></param>
        /// <returns></returns>
        public async Task <AccountResponseDto> AddClientAccount(AccountCreationRequestDto accountCreationRequestDto)
        {
            var accountNumber = GenerateAccountNumber();

            return(await _accountRepository.AddClientAccount(accountCreationRequestDto, accountNumber));
        }
        public async Task <AccountResponseDto> AddClientAccount(AccountCreationRequestDto accountCreationRequestDto)
        {
            var account = await _accountService.AddClientAccount(accountCreationRequestDto);

            return(account);
        }