private async Task MoveAsync(IStoreCollection sourceCollection, string sourceName, IStoreCollection destinationCollection, string destinationName, bool overwrite, IHttpContext httpContext, WebDavUri baseUri, UriResultCollection errors) { // Determine the new base URI var subBaseUri = UriHelper.Combine(baseUri, destinationName); // Items should be moved directly var result = await sourceCollection.MoveItemAsync(sourceName, destinationCollection, destinationName, overwrite, httpContext).ConfigureAwait(false); if (result.Result != DavStatusCode.Created && result.Result != DavStatusCode.NoContent) { errors.AddResult(subBaseUri, result.Result); } }
//TODO: something wrong with unused depth? private async Task CopyAsync(IStoreItem source, IStoreCollection destinationCollection, string name, bool overwrite, int depth, IHttpContext httpContext, WebDavUri baseUri, UriResultCollection errors) { // Determine the new base Uri var newBaseUri = UriHelper.Combine(baseUri, name); // Copy the item var copyResult = await source.CopyAsync(destinationCollection, name, overwrite, httpContext).ConfigureAwait(false); if (copyResult.Result != DavStatusCode.Created && copyResult.Result != DavStatusCode.NoContent) { errors.AddResult(newBaseUri, copyResult.Result); } //do not copy recursively }