Deletes this item.
Delete invocation must delete only folders and resource items. Lock-null items are deleted during Unlock method call.
Example of Delete implementation for WebDAV Class 2 server:
public class Folder : HierarchyItem, IFolder, IFolderLock
{
...
public override WebDAVResponse Delete()
{
Folder parent = Parent as Folder;
if(parent == null)
return new ConflictResponse();
if(!parent.ClientHasToken)
return new LockedResponse();
if(!ClientHasToken)
return new LockedResponse();
MultistatusResponse mr = new MultistatusResponse();
foreach(IHierarchyItem child in Children)
{
HierarchyItem dbchild = child as HierarchyItem;
WebDAVResponse resp = dbchild.Delete();
if(!resp.IsSuccess)
mr.AddResponses(new ItemResponse(dbchild.Path, resp));
else
{
MultistatusResponse mrchild = resp as MultistatusResponse;
if(mrchild != null)
mr.AddResponses(mrchild.Responses);
}
}
if(mr.Responses.Length > 0)
return mr;
else
{
DeleteThisItem();
return new NoContentResponse();
}
}
...
}
IHierarchyItem Interface | ITHit.WebDAV.Server Namespace