public async Task ShouldBatchUpdateFieldsByFilter() { // Arrange var objectName = "ThisObjectB" + new Random().Next(0, 999999); var listItem = new ListItemCreateRequest { ContentSchemaId = nameof(Tag), Content = new Tag { Name = objectName } }; ListItemDetail listItemDetail = await _client.ListItem.CreateAsync(listItem).ConfigureAwait(false); // Act var updateRequest = new ListItemFieldsBatchUpdateFilterRequest { FilterRequest = new ListItemFilterRequest { Filter = new TermFilter { Field = "id", Term = listItemDetail.Id } }, ChangeCommands = new List <MetadataValuesChangeCommandBase> { new MetadataValuesSchemaUpdateCommand { SchemaId = nameof(Tag), Value = new DataDictionary { { "name", "Foo" } } } } }; // Act await _client.ListItem.BatchUpdateFieldsByFilterAsync(updateRequest).ConfigureAwait(false); ListItemDetail result = await _client.ListItem.GetAsync(listItemDetail.Id, new[] { ListItemResolveBehavior.Content }).ConfigureAwait(false); // Assert Assert.Equal("Foo", result.ConvertTo <Tag>().Name); }
/// <inheritdoc /> public async Task <ListItemBatchOperationResult> BatchUpdateFieldsByFilterAsync(ListItemFieldsBatchUpdateFilterRequest updateRequest, TimeSpan?timeout = null, CancellationToken cancellationToken = default(CancellationToken)) { var businessProcess = await BatchUpdateFieldsByFilterCoreAsync(updateRequest, cancellationToken).ConfigureAwait(false); return(await WaitForBusinessProcessAndReturnResult(businessProcess.Id, timeout, cancellationToken).ConfigureAwait(false)); }