示例#1
0
 public RootDataProviderSelection(IList <string> fields, IAimpDataFilter aimpDataFilter,
                                  DataProviderGroupingTreeData data)
 {
     _fields         = fields;
     _aimpDataFilter = aimpDataFilter;
     _data           = data;
 }
示例#2
0
        private DataProviderGroupingTreeData PopulateMyComputer(string data)
        {
            var result = new DataProviderGroupingTreeData();

            var pathParts = data.Split(new[] { "\\" }, StringSplitOptions.RemoveEmptyEntries);

            if (pathParts.Length <= 2)
            {
                var drivers = DriveInfo.GetDrives().Where(c => c.DriveType == DriveType.Fixed).ToList();
                result.AddRange(drivers.Select(driver => new DataProviderGroupingTreeNode
                {
                    ImageIndex   = (int)ImageType.Folder,
                    Standalone   = true,
                    HasChildren  = true,
                    DisplayValue = driver.Name,
                    Value        = $"MyComputer\\{DataStorageCategoryType.LocalDisks}\\{driver.Name}"
                }));
            }
            else
            {
                var           path = data.Replace($"MyComputer\\{DataStorageCategoryType.LocalDisks}\\", string.Empty);
                DirectoryInfo di   = new DirectoryInfo(path);
                result.AddRange(di.GetDirectories()
                                .Where(dir =>
                                       dir.Attributes.HasFlag(FileAttributes.Directory) &&
                                       !(dir.Attributes.HasFlag(FileAttributes.Hidden) ||
                                         dir.Attributes.HasFlag(FileAttributes.System)))
                                .Select(dir => new DataProviderGroupingTreeNode
                {
                    DisplayValue = dir.Name,
                    Value        = $"{(data.EndsWith("\\") ? data : data + "\\")}{dir.Name}\\",
                    HasChildren  = dir.GetDirectories().Any(),
                    Standalone   = true,
                    ImageIndex   = (int)ImageType.Folder
                }));
            }

            return(result);
        }
示例#3
0
 public DataProviderGroupingTree(DataProviderGroupingTreeData data)
     : this()
 {
 }
示例#4
0
 public DataProviderGroupingTreeSelection(DataProviderGroupingTreeData data)
 {
     _data = data;
 }