Ejemplo n.º 1
0
        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);
        }
Ejemplo n.º 2
0
        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);
        }
Ejemplo n.º 3
0
        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());
        }
Ejemplo n.º 4
0
        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]);
            }
        }
Ejemplo n.º 5
0
 public BookContainerViewModel(string Title, BookShelfViewModel Shelf, BookContainerViewModel Parent = null)
 {
     this.Title     = Title;
     this.Parent    = Parent;
     this.BookShelf = Shelf;
 }