예제 #1
0
        protected override IEnumerable <IFolder> GetFolders()
        {
            if (!IsFolderLoaded)
            {
                RunOnUIThread(() =>
                {
                    this.Folders.Clear();
                });

                var             jsonFolders = this.JasonFolder.Items.Where(item => item.IsFolder);
                IList <IFolder> tempItems   = new List <IFolder>();
                foreach (var item in jsonFolders)
                {
                    string          folderPath = Path.Combine(this.FullPath, item.Name);
                    Data.JsonFolder jsonFolder = JsonRootFolder.GetFolderFromCache(folderPath);
                    if (!jsonFolder.IsNull())
                    {
                        JsonFolder folder = new JsonFolder(jsonFolder, this);
                        tempItems.Add(folder);
                    }
                }

                IsFolderLoaded = AddItemsByChunk(SetFolderOrder(tempItems), this.Folders, this.Items);
            }
            return(this.Folders);
        }
예제 #2
0
 public JsonFolder(Data.JsonFolder folder, IFolder parent)
     : base(string.Empty, parent)
 {
     if (folder.IsNull() || parent.IsNull())
     {
         throw new ArgumentNullException();
     }
     this.JasonFolder = folder;
     this.Parent      = parent;
     if (folder.Name.EndsWith(":"))
     {
         ///Check is driver
         string folderName = folder.Name + @"\";
         this.Name     = folderName;
         this.FullPath = folderName;
     }
     else
     {
         this.Name     = Path.GetFileName(folder.Name);
         this.FullPath = folder.Name;
     }
     this.AddPlaceHolder();
 }