private void LoadTemplates() { Items.Clear(); PageItems.Clear(); int count = 0; string[] files = Directory.GetFiles(Constants.TemplateThumbnailRoot); if (files == null) { Debug.Write("Error: Reading files from the souvenirs image folder returns null."); return; } foreach (var file in files) { string name = Path.GetFileNameWithoutExtension(file); TemplateModel template = new TemplateModel(name, Path.GetFullPath(file), name); if (count < Constants.NumberOfItemsPerPage) { PageItems.Add(template); ++count; } Items.Add(template); } PageCursor = 1; NumberOfPages = (Items.Count + Constants.NumberOfItemsPerPage - 1) / Constants.NumberOfItemsPerPage; PageBackCommand.RaiseCanExecuteChanged(); PageForwardCommand.RaiseCanExecuteChanged(); }
private async void LoadAlbumsAsync() { lock (loadAlbumsMutex) { if (isLoadingAlbums) { return; } isLoadingAlbums = true; } Items.Clear(); PageItems.Clear(); int count = 0; var albums = await oneDriveController.GetAlbumsAsync(); if (albums == null) { if (!HasInternetConnection) { Debug.WriteLine("No internet connection."); } ItemsExist = false; IsLoading = false; Debug.WriteLine("Error: Fetching albums from OneDrive returns null."); lock (loadAlbumsMutex) { isLoadingAlbums = false; } } else { foreach (var album in albums) { var bundle = new BundleModel(album.Id, album.Name, album.ThumbnailUrl); if (count < Constants.NumberOfItemsPerPage) { PageItems.Add(bundle); ++count; } Items.Add(bundle); } } PageCursor = 1; NumberOfPages = (Items.Count + Constants.NumberOfItemsPerPage - 1) / Constants.NumberOfItemsPerPage; NumberOfPages = NumberOfPages < 1 ? 1 : NumberOfPages; ItemsExist = Items.Count != 0; PageBackCommand.RaiseCanExecuteChanged(); PageForwardCommand.RaiseCanExecuteChanged(); IsLoading = false; lock (loadAlbumsMutex) { isLoadingAlbums = false; } }