private async Task LoadGameSystems() { _presentation.ShowLoadingAnimation(); try { var apiClient = _session.ActiveApiClient; var systems = await apiClient.GetGameSystemSummariesAsync(CancellationToken.None); _gameSystems = systems.Where(i => i.GameFileExtensions.Count > 0).OrderBy(i => i.DisplayName).ToList(); SelectGameSystem.Options = _gameSystems.Select(i => new SelectListItem { Text = i.DisplayName, Value = i.Name }).ToList(); if (_gameSystems.Count > 0) { SelectGameSystem.SelectedValue = _gameSystems[0].Name; } BtnSubmit.Visibility = Visibility.Visible; _presentation.HideLoadingAnimation(); } catch (Exception ex) { _presentation.HideLoadingAnimation(); _presentation.ShowDefaultErrorMessage(); BtnSubmit.Visibility = Visibility.Collapsed; } }
/// <summary> /// Navigates to home page. /// </summary> /// <returns>DispatcherOperation.</returns> public async Task NavigateToHomePage() { _presentationManager.ShowLoadingAnimation(); try { var userId = _sessionFactory().CurrentUser.Id; var userConfig = await _config.GetUserTheaterConfiguration(userId); var homePages = _presentationManager.HomePages.ToList(); var homePage = homePages.FirstOrDefault(i => string.Equals(i.Name, userConfig.HomePage)) ?? homePages.FirstOrDefault(i => string.Equals(i.Name, "Default")) ?? homePages.First(); var rootItem = await _apiClient.GetRootFolderAsync(userId); await Navigate(homePage.GetHomePage(rootItem)); } finally { _presentationManager.HideLoadingAnimation(); } }
/// <summary> /// Navigates to home page. /// </summary> /// <returns>DispatcherOperation.</returns> public Task NavigateToHomePage() { var task = new TaskCompletionSource <bool>(); App.Instance.ApplicationWindow.Dispatcher.InvokeAsync(async() => { _presentationManager.ShowLoadingAnimation(); try { var userId = _sessionFactory().CurrentUser.Id; var userConfig = _config.GetUserTheaterConfiguration(userId); var homePages = _presentationManager.HomePages.ToList(); var homePage = homePages.FirstOrDefault(i => string.Equals(i.Name, userConfig.HomePage)) ?? homePages.FirstOrDefault(i => string.Equals(i.Name, "Default")) ?? homePages.First(); var rootItem = await _apiClient.GetRootFolderAsync(userId); await Navigate(homePage.GetHomePage(rootItem)); //Clear history on home page navigate so that backspace on home page can lead to system options ClearHistory(); } finally { _presentationManager.HideLoadingAnimation(); task.TrySetResult(true); } }); return(task.Task); }
protected override async Task <IEnumerable <TabItem> > GetSections() { _presentationManager.ShowLoadingAnimation(); try { var item = ItemViewModel; var criticReviews = await GetCriticReviews(item.Item); return(GetMenuList(item.Item, criticReviews)); } finally { _presentationManager.HideLoadingAnimation(); } }
protected override async Task <IEnumerable <TabItem> > GetSections() { _presentationManager.ShowLoadingAnimation(); try { var item = ItemViewModel; var themeMediaTask = GetThemeMedia(item.Item); var criticReviewsTask = GetCriticReviews(item.Item); await Task.WhenAll(themeMediaTask, criticReviewsTask); return(GetMenuList(item.Item, themeMediaTask.Result, criticReviewsTask.Result)); } finally { _presentationManager.HideLoadingAnimation(); } }
private async Task ReloadItems(bool isInitialLoad) { if (HasIndexOptions && CurrentIndexOption == null) { return; } if (ShowLoadingAnimation) { _presentationManager.ShowLoadingAnimation(); } try { var result = await _getItemsDelegate(this); var items = result.Items; int?selectedIndex = null; if (isInitialLoad && AutoSelectFirstItem) { selectedIndex = 0; } MedianPrimaryImageAspectRatio = result.Items.MedianPrimaryImageAspectRatio(); _listItems.Clear(); var imageTypes = GetPreferredImageTypes(); var childWidth = Convert.ToInt32(ImageDisplayWidth); var imageDisplayHeight = Convert.ToInt32(GetImageDisplayHeight()); var viewModels = items.Select( i => { var vm = new ItemViewModel(_apiClient, _imageManager, _playbackManager, _presentationManager, _logger, _serverEvents) { DownloadPrimaryImageAtExactSize = DownloadImageAtExactSize ?? IsCloseToMedianPrimaryImageAspectRatio(i), ImageHeight = imageDisplayHeight, ImageWidth = childWidth, Item = i, ViewType = ViewType, DisplayName = DisplayNameGenerator == null ? i.Name : DisplayNameGenerator(i), DownloadImagesAtExactSize = DownloadImageAtExactSize ?? true, PreferredImageTypes = imageTypes, ListType = ListType, ShowTitle = ShowTitle }; var stretch = ImageStretch; if (!stretch.HasValue && imageTypes.Length > 0) { var exact = imageTypes[0] == ImageType.Primary ? vm.DownloadPrimaryImageAtExactSize : vm.DownloadImagesAtExactSize; stretch = exact ? Stretch.UniformToFill : Stretch.Uniform; } if (stretch.HasValue) { vm.ImageStretch = stretch.Value; } return(vm); } ).ToList(); _listItems.AddRange(viewModels); ItemCount = items.Length; UpdateContainerSizes(); if (selectedIndex.HasValue) { ListCollectionView.MoveCurrentToPosition(selectedIndex.Value); } } catch (Exception) { _presentationManager.ShowDefaultErrorMessage(); } finally { if (ShowLoadingAnimation) { _presentationManager.HideLoadingAnimation(); } } }