public override void OnNavigatedTo(NavigatedToEventArgs e, Dictionary <string, object> viewModelState) { if (e.Parameter is string && e.NavigationMode == NavigationMode.New) { SearchOption = PagePayloadBase.FromParameterString <LiveSearchPagePayloadContent>(e.Parameter as string); } SelectedSearchTarget.Value = SearchOption?.SearchTarget ?? SearchTarget.Niconama; if (SearchOption == null) { var oldOption = viewModelState[nameof(SearchOption)] as string; SearchOption = PagePayloadBase.FromParameterString <LiveSearchPagePayloadContent>(oldOption); if (SearchOption == null) { throw new Exception(); } } _NowNavigatingTo = true; SelectedSearchSort.Value = LiveSearchSortOptionListItems.FirstOrDefault(x => x.Sort == SearchOption.Sort && x.Order == SearchOption.Order); SelectedSearchMode.Value = LiveSearchModeOptionListItems.FirstOrDefault(x => x.Mode == SearchOption.Mode) ?? LiveSearchModeOptionListItems.First(); SelectedProvider.Value = LiveSearchProviderOptionListItems.FirstOrDefault(x => x.Provider == SearchOption.Provider); _NowNavigatingTo = false; Database.SearchHistoryDb.Searched(SearchOption.Keyword, SearchOption.SearchTarget); base.OnNavigatedTo(e, viewModelState); }
public override Task OnNavigatedToAsync(INavigationParameters parameters) { var mode = parameters.GetNavigationMode(); if (mode == NavigationMode.New) { Keyword = System.Net.WebUtility.UrlDecode(parameters.GetValue <string>("keyword")); SearchOption = new LiveSearchPagePayloadContent() { Keyword = Keyword }; } SelectedSearchTarget.Value = SearchTarget.Niconama; _NowNavigatingTo = true; SelectedSearchSort.Value = LiveSearchSortOptionListItems.FirstOrDefault(x => x.Sort == SearchOption.Sort && x.Order == SearchOption.Order); SelectedSearchMode.Value = LiveSearchModeOptionListItems.FirstOrDefault(x => x.Mode == SearchOption.Mode) ?? LiveSearchModeOptionListItems.First(); SelectedProvider.Value = LiveSearchProviderOptionListItems.FirstOrDefault(x => x.Provider == SearchOption.Provider); _NowNavigatingTo = false; Database.SearchHistoryDb.Searched(SearchOption.Keyword, SearchOption.SearchTarget); return(base.OnNavigatedToAsync(parameters)); }
public override void OnNavigatedTo(NavigatedToEventArgs e, Dictionary <string, object> viewModelState) { if (e.Parameter is string) { SearchOption = PagePayloadBase.FromParameterString <LiveSearchPagePayloadContent>(e.Parameter as string); } SelectedSearchTarget.Value = SearchOption?.SearchTarget ?? SearchTarget.Niconama; if (SearchOption == null) { throw new Exception(); } _NowNavigatingTo = true; SelectedSearchSort.Value = LiveSearchSortOptionListItems.FirstOrDefault(x => x.Sort == SearchOption.Sort && x.Order == SearchOption.Order); SelectedSearchMode.Value = LiveSearchModeOptionListItems.FirstOrDefault(x => x.Mode == SearchOption.Mode) ?? LiveSearchModeOptionListItems.First(); SelectedProvider.Value = LiveSearchProviderOptionListItems.FirstOrDefault(x => x.Provider == SearchOption.Provider); _NowNavigatingTo = false; var optionText = Helpers.SortHelper.ToCulturizedText(SearchOption.Sort, SearchOption.Order); var providerText = SelectedProvider.Value.Label; string mode = ""; if (SearchOption.Mode.HasValue) { switch (SearchOption.Mode) { case Mntone.Nico2.Searches.Live.NicoliveSearchMode.OnAir: mode = "放送中"; break; case Mntone.Nico2.Searches.Live.NicoliveSearchMode.Reserved: mode = "放送予定"; break; case Mntone.Nico2.Searches.Live.NicoliveSearchMode.Closed: mode = "放送終了"; break; default: break; } } else { mode = "すべて"; } SearchOptionText = $"{optionText}/{mode}/{providerText}"; Database.SearchHistoryDb.Searched(SearchOption.Keyword, SearchOption.SearchTarget); base.OnNavigatedTo(e, viewModelState); }