Esempio n. 1
0
        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);
        }
Esempio n. 2
0
        /// <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));
        }