Click or drag to resize

IHierarchyItemUpdatePropertiesAsync Method (Property, PropertyName, String)

IT Hit WebDAV Classes Reference
Updates values of properties exposed by this item.

Namespace:  ITHit.WebDAV.Client
Assembly:  ITHit.WebDAV.Client (in ITHit.WebDAV.Client.dll) Version: 6.0.4052-Beta
Task UpdatePropertiesAsync(
	Property[] propertiesToAddOrUpdate,
	PropertyName[] propertiesToDelete,
	string lockToken


Type: ITHit.WebDAV.ClientProperty
Properties to be updated.
Type: ITHit.WebDAV.ClientPropertyName
Names of properties to be removed from this item.
Type: SystemString
Lock token.

Return Value

Type: Task

[Missing <returns> documentation for "M:ITHit.WebDAV.Client.IHierarchyItem.UpdatePropertiesAsync(ITHit.WebDAV.Client.Property[],ITHit.WebDAV.Client.PropertyName[],System.String)"]

LockedExceptionThe item is locked and no or invalid lock token was provided.
PropertyForbiddenExceptionCannot alter one of the properties.
PropertyConflictException The client has provided a value whose semantics are not appropriate for the property. This includes trying to set read-only properties.
NotFoundExceptionThis item doesn't exist on the server.
ConflictException The resource is version controlled and has to be checked out to be edited.
PropertyExceptionServer returned unknown error for specific property.
WebDavHttpExceptionServer returned unknown error.
WebDavExceptionUnexpected error occurred.
string license = "<?xml version='1.0' encoding='utf...
WebDavSession session = new WebDavSession(license);
session.Credentials = new NetworkCredential("User1", "pwd", "DOMAIN");

IFile file = await session.GetFileAsync(new Uri("https://server/Library/doc.txt"));

Property[] propsToAddAndUpdate = new Property[3];
propsToAddAndUpdate[0] = new Property(new PropertyName("Ammount", "CorpNS"), "1200");
propsToAddAndUpdate[1] = new Property(new PropertyName("ManagerApproved", "Sales"), "Yes");
propsToAddAndUpdate[2] = new Property(new PropertyName("Branch", "Sales"), "EMEA Region");

PropertyName[] propsToDelete = new PropertyName[2];
propsToDelete[0] = new PropertyName("InternalName", "Sales");
propsToDelete[1] = new PropertyName("Counter", "CorpNS");

LockInfo lockInfo = await file.LockAsync(LockScope.Exclusive, true, "User 1", new TimeSpan(0, 30, 0));
    await file.UpdatePropertiesAsync(propsToAddAndUpdate, propsToDelete, lockInfo.LockToken.LockToken);
catch (PropertyException ex)
    Console.WriteLine(ex.Message + " " + ex.Status.Code + " " + ex.Status.Description);
    // Find which properties failed to add/update/delete
    foreach (IPropertyMultistatusResponse propInfo in ex.Multistatus.Responses)
        Console.WriteLine(propInfo.PropertyName + " " + propInfo.Status.Code + " " + propInfo.Status.Description);
await file.UnlockAsync(lockInfo.LockToken.LockToken);
See Also