Ejemplo n.º 1
0
		public TestPaths(ILocalResourceManager localResourceManager) : base(localResourceManager)
		{ }
		public CloudDriveManager(ILocalResourceManager localResourceManager)
		{
            _localResourceManager = localResourceManager;
		}
Ejemplo n.º 3
0
        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);
        }