Ejemplo n.º 1
0
        public WsFile Add(WsFolderPath folderPath, string fileName, string fileIdent, long fileSize)
        {
            FolderItemsResolver folderItemsResolver = _dic.GetOrAdd(
                folderPath,
                x => new FolderItemsResolver(folderPath, _apiClient, RemoveFolder));

            return(folderItemsResolver.Add(fileName, fileIdent, fileSize, folderPath.IsPrivate));
        }
Ejemplo n.º 2
0
 private bool RemoveFolder(WsFolderPath folderPath, out FolderItemsResolver folderItemsResolver)
 {
     if (_dic.TryRemove(folderPath, out folderItemsResolver))
     {
         Log("Remove folder", folderPath);
         return(true);
     }
     return(false);
 }
Ejemplo n.º 3
0
        public void MoveItem(WsItem item, WsFolder targetFolder)
        {
            FolderItemsResolver sourceFolderItemsResolver = (FindFolderItemsResolver(item.PathInfoGeneric.Folder) as FolderItemsResolver);

            if (sourceFolderItemsResolver == null)
            {
                return;
            }
            if (item is WsFile file)
            {
                sourceFolderItemsResolver.RemoveFileAndFolderIfEmpty(file);
                if (file.IsReady == false)
                {
                    Add(targetFolder.PathInfo, file.PathInfo.Name, file.Ident, file.Size);
                }
            }
            else if (item is WsFolder folder)
            {
                MoveFolder(folder.PathInfo, targetFolder.PathInfo);
            }
        }