internal static void StoredProcedureToInsertDocuments(IConfigurationRoot configuration) { using (DocumentClient cosmosDocumentClient = new DocumentClient(new Uri(configuration["CosmosHost"]), configuration["CosmosKey"])) { employee emp1, emp2, emp3; EmployeeMockData.MockEmployeeDataOutError(out emp1, out emp2, out emp3); var storedProcResult = cosmosDocumentClient.ExecuteStoredProcedureAsync <object> (UriFactory.CreateStoredProcedureUri(configuration["DatabaseId"], "employee", "createEmployees"), new RequestOptions { PartitionKey = new Microsoft.Azure.Documents.PartitionKey("Hyderabad") }, JsonConvert.SerializeObject(new object[] { emp1, emp2, emp3 })).Result; Console.WriteLine(storedProcResult.Response); } }
internal static void TransactionUsingSdk(IConfigurationRoot configuration) { employee emp1, emp2, emp3; EmployeeMockData.MockEmployeeDataOutError(out emp1, out emp2, out emp3); employee emp4, emp5, emp6; EmployeeMockData.MockEmployeeDataOutNoError(out emp4, out emp5, out emp6); using (CosmosClient cosmosClient = new CosmosClient(configuration["CosmosHost"], configuration["CosmosKey"])) { var containerHandle = cosmosClient.GetContainer(configuration["DatabaseId"], "employee"); //Error Batch var resultError = containerHandle.CreateTransactionalBatch(new PartitionKey("Hyderabad")) .CreateItem(emp1) .CreateItem(emp2) .CreateItem(emp3) .ExecuteAsync() .Result; RenderResult(resultError, 3); //Error Batch Without Error record var resultTwoItems = containerHandle.CreateTransactionalBatch(new PartitionKey("Hyderabad")) .CreateItem(emp1) .CreateItem(emp2) .ExecuteAsync() .Result; RenderResult(resultTwoItems, 2); //Ok Batch var resultOk = containerHandle.CreateTransactionalBatch(new PartitionKey("Hyderabad")) .UpsertItem(emp1) .UpsertItem(emp2) .CreateItem(emp4) .CreateItem(emp5) .CreateItem(emp6) .ExecuteAsync() .Result; RenderResult(resultOk, 5); } }
internal static void TriggerWhileInsertDocuments(IConfigurationRoot configuration) { List <employee> empList = EmployeeMockData.MockEmployeeDataList(); using (CosmosClient cosmosClient = new CosmosClient(configuration["CosmosHost"], configuration["CosmosKey"])) { var objectToPush = empList; var containerHandle = cosmosClient.GetContainer(configuration["DatabaseId"], "employee"); objectToPush.ForEach(v => { var result = containerHandle.UpsertItemAsync(v, requestOptions: new ItemRequestOptions() { PreTriggers = new List <string>() { "setFullName" } }).Result; Console.WriteLine(JsonConvert.SerializeObject(result)); Console.WriteLine(); }); } }