static DropEffects DropEffects(ListItem source, Folder target) { if (source.ParentList != target.ParentList) { return(dragDrop.DropEffects.None); } if (UriUtility.GetDirectoryUrl(source.ServerRelativeUrl) == target.ServerRelativeUrl) { return(source.FileSystemObjectType == FileSystemObjectType.Folder ? dragDrop.DropEffects.None : dragDrop.DropEffects.Copy); } if (source.ServerRelativeUrl == target.ServerRelativeUrl) { return(dragDrop.DropEffects.None); } if (source.FileSystemObjectType == FileSystemObjectType.Folder) { return(target.ServerRelativeUrl.StartsWith(source.ServerRelativeUrl + '/') ? dragDrop.DropEffects.None : dragDrop.DropEffects.Move); } if (!source.IsNew && source.ParentList.BaseType != BaseType.DocumentLibrary) { return(dragDrop.DropEffects.Copy | dragDrop.DropEffects.Move); } return(UriUtility.GetDirectoryUrl(source.ServerRelativeUrl) == target.ServerRelativeUrl ? dragDrop.DropEffects.Copy : dragDrop.DropEffects.Copy | dragDrop.DropEffects.Move); }