public static async Task <ObservableCollection <BookShelfViewModel> > GetBookShelfViewModels(bool addSecretShelf) { var storages = await BookShelfStorage.GetBookShelves(); var result = new ObservableCollection <BookShelfViewModel>(); if (storages == null) { return(null); } foreach (var item in storages) { if (addSecretShelf || item.Secret == false) { var content = new BookShelfViewModel(); content.Title = item.Title; content.Containers = new ObservableCollection <BookContainerViewModel>(await BookContainerViewModel.GetFromBookShelfStorage(item.Folders, content)); content.Secret = item.Secret; result.Add(content); } } return(result); }
public static async Task <BookContainerViewModel> GetFromBookShelfStorage(BookShelfStorage.BookContainer storage, BookShelfViewModel Shelf, BookContainerViewModel Parent = null) { BookContainerViewModel result = new BookContainerViewModel(storage.Title, Shelf, Parent); foreach (var item in storage.Folders) { result.Add(await GetFromBookShelfStorage(item as BookShelfStorage.BookContainer, Shelf, result)); } foreach (var item in storage.Files) { var temp = await BookViewModel.GetFromBookShelfStorage(item as BookShelfStorage.BookContainer.BookShelfBook, result); if (temp != null && temp.BookSize > 0) { result.Add(temp); } } return(result); }
public static async Task <BookContainerViewModel[]> GetFromBookShelfStorage(IEnumerable <BookShelfStorage.BookContainer> storages, BookShelfViewModel Shelf) { var result = new List <BookContainerViewModel>(); foreach (var item in storages) { if (SettingStorage.GetValue("FolderNameToExclude") == null || !((System.Text.RegularExpressions.Regex)SettingStorage.GetValue("FolderNameToExclude")).IsMatch(item.Title)) { result.Add(await GetFromBookShelfStorage(item, Shelf)); } } return(result.ToArray()); }
public static async Task <BookContainerViewModel[]> GetFromBookShelfStorage(int index, BookShelfViewModel Shelf) { var storages = await BookShelfStorage.GetBookShelves(); if (storages.Count > index) { return(await GetFromBookShelfStorage(storages[index].Folders, Shelf)); } else { return(new BookContainerViewModel[0]); } }
public BookContainerViewModel(string Title, BookShelfViewModel Shelf, BookContainerViewModel Parent = null) { this.Title = Title; this.Parent = Parent; this.BookShelf = Shelf; }