public async Task GetAccountsCosmos()
        {
            try
            {
                var clientObject = _cosmosSession.GetSession();
                var container    = clientObject.Client.GetContainer(clientObject.DBName, typeof(AccountDetail).Name);
                var sql          = "SELECT * FROM c WHERE c.AccountNumber = '0035509419'";
                var iterator     = container.GetItemQueryIterator <dynamic>(sql);
                var page         = await iterator.ReadNextAsync();

                foreach (var item in page)
                {
                    var bankResponse = await _bankManager.GetBank(item.BankId.ToString());

                    item.BankDetail.Name = bankResponse.Name;
                    item.BankDetail.Code = bankResponse.Code;
                    var response = await container.ReplaceItemAsync <dynamic>(item, item.Id);

                    _log.ChargeInfo($"Create new account: {response.RequestCharge} RUs");
                }
            }
            catch (Exception ex)
            {
                string mesg = ex.Message;
            }
        }
        public async Task <CreateAccountModel> CreateAccount(CreateAccountModel model)
        {
            try
            {
                if (model == null)
                {
                    _log.Warn("passed account model is null");
                    throw new ModelIsNullException("request model is null");
                }

                var response = await _bankManager.GetBank(model.BankId);

                var accountDetails = new AccountDetail
                {
                    Id            = Guid.NewGuid().ToString(),
                    AccountName   = model.AccountName,
                    AccountNumber = model.AccountNumber,
                    BankDetail    = new BankDetail {
                        Code = response.Code, Name = response.Name, Id = model.BankId
                    },
                    CreatedAtUtc = DateTime.Now,
                    UpdatedAtUtc = DateTime.Now
                };
                _log.Info("about to create account");
                await _coreAccount.CreateAccount(accountDetails);

                return(model);
            }
            catch (AccountDetailsAlreadyExistException ex)
            {
                throw ex;
            }
            catch (Exception ex)
            {
                throw ex;
            }
        }