public TestPaths(ILocalResourceManager localResourceManager) : base(localResourceManager) { }
public CloudDriveManager(ILocalResourceManager localResourceManager) { _localResourceManager = localResourceManager; }
public override List <Item> GetDirectories(IList <IResourceMetaData> metaDataFilter = null) { List <Item> items = new List <Item>(10); try { if (Directory.Exists(FullName)) { if (metaDataFilter == null || metaDataFilter.Count == 0) //没有过滤是,显示所有 { string[] dirs = Directory.GetDirectories(FullName); string[] files = Directory.GetFiles(FullName); foreach (string dir in dirs) { var attributes = File.GetAttributes(dir); if ((attributes & FileAttributes.Hidden) != FileAttributes.Hidden) { items.Add(new DirectoryItem(dir)); } } foreach (string file in files) { var attributes = File.GetAttributes(file); if ((attributes & FileAttributes.Hidden) != FileAttributes.Hidden) { items.Add(new FileItem(file)); } } } else { ILocalResourceManager localResourceManager = IocManager.Instance.Resolve <ILocalResourceManager>(); IList <string> restDirs, restFiles; IList <IResource> resources = localResourceManager.GetLocalResource(FullName, metaDataFilter, out restDirs, out restFiles); if (resources.Count > 0) { foreach (IResource resource in resources) { if (resource is ISingleFileResource) { items.Add(new ResourceItem((resource as ISingleFileResource).FullName, resource)); } if (resource is ISingleFolderResource) { items.Add(new ResourceItem((resource as ISingleFolderResource).FolderPath, resource)); } if (resource is IMultiFileResource) { items.Add(new ResourceItem((resource as IMultiFileResource).MainFilePath, resource)); } if (resource is IMultiFolderResource) { items.Add(new ResourceItem((resource as IMultiFolderResource).MainFolder, resource)); } } } if (restDirs.Count > 0) { foreach (string restDir in restDirs) { items.Add(new DirectoryItem(restDir, null)); } } } } } catch { } finally { } return(items); }