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; } }