Click or drag to resize

IHierarchyItemMoveToAsync Method (IFolder, String, Boolean, LockUriTokenPair)

IT Hit WebDAV Classes Reference
Moves this item to another location.

Namespace:  ITHit.WebDAV.Client
Assembly:  ITHit.WebDAV.Client (in ITHit.WebDAV.Client.dll) Version: 5.1.2712
Syntax
Task MoveToAsync(
	IFolder destinationFolder,
	string destinationName,
	bool overwrite,
	LockUriTokenPair[] lockTokens
)

Task MoveToAsync(
	IFolder destinationFolder,
	string destinationName,
	bool overwrite,
	LockUriTokenPair[] lockTokens
)

Parameters

destinationFolder
Type: ITHit.WebDAV.ClientIFolder
Folder to move to.
destinationName
Type: SystemString
Name to assign to moved item.
overwrite
Type: SystemBoolean
Whether existing destination item shall be overwritten.
lockTokens
Type: ITHit.WebDAV.ClientLockUriTokenPair
Lock tokens for resources to be moved, for destination folder or resources to be overwritten that are locked.

Return Value

Type: Task

[Missing <returns> documentation for "M:ITHit.WebDAV.Client.IHierarchyItem.MoveToAsync(ITHit.WebDAV.Client.IFolder,System.String,System.Boolean,ITHit.WebDAV.Client.LockUriTokenPair[])"]

Exceptions
ExceptionCondition
ForbiddenException The source and destination URIs are the same.
ConflictException A resource cannot be created at the destination until one or more intermediate collections have been created.
PreconditionFailedException The destination resource exists and overwrite was false.
LockedException The destination folder or items to be overwritten or source items were locked.
NotFoundExceptionThis item doesn't exist on the server.
WebDavHttpExceptionServer returned unknown error for specific resource.
WebDavExceptionUnexpected error occurred.
Examples
string license = "<?xml version='1.0' encoding='utf...
WebDavSession session = new WebDavSession(license);
session.Credentials = new NetworkCredential("User1", "pwd");
IFolder itemSrc = await session.GetFolderAsync(new Uri("https://server:8080/Library/"));
IFolder itemDst = await session.GetFolderAsync(new Uri("https://server:8080/Sales/"));
LockInfo lockInfo1 = await itemDst.LockAsync(LockScope.Shared, true, "User 1", new TimeSpan(0, 5, 0));

IHierarchyItem file = await session.GetFileAsync(new Uri("https://server:8080/Library/image007.gif"));
LockInfo lockInfo2 = await file.LockAsync(LockScope.Exclusive, false, "User 1", new TimeSpan(0, 5, 0));

LockUriTokenPair[] locks = new LockUriTokenPair[2];
locks[0] = lockInfo1.LockToken;
locks[1] = lockInfo2.LockToken;

try
{
    await itemSrc.MoveToAsync(itemDst, itemSrc.DisplayName, true, locks);
}
catch (WebDavHttpException ex)
{
    Console.WriteLine(ex.Message + " " + ex.Status.Code + " " + ex.Status.Description);
    foreach (IMultistatusResponse resp in ex.Multistatus.Responses)
    { // Find which items failed to move.
        Console.WriteLine(resp.Href + " " + resp.Status.Code + " " + resp.Status.Description);
    }
}
See Also