public override void OnNavigatedTo(NavigatedToEventArgs e, Dictionary <string, object> viewModelState) { if (e.Parameter is string) { SearchOption = PagePayloadBase.FromParameterString <MylistSearchPagePayloadContent>(e.Parameter as string); } SelectedSearchTarget.Value = SearchOption?.SearchTarget ?? SearchTarget.Mylist; if (SearchOption == null) { throw new Exception(); } SelectedSearchSort.Value = MylistSearchOptionListItems.FirstOrDefault(x => x.Order == SearchOption.Order && x.Sort == SearchOption.Sort); SelectedSearchSort.Subscribe(async opt => { SearchOption.Order = opt.Order; SearchOption.Sort = opt.Sort; SearchOptionText = Helpers.SortHelper.ToCulturizedText(SearchOption.Sort, SearchOption.Order); await ResetList(); }) .AddTo(_NavigatingCompositeDisposable); 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) { SearchOption = new MylistSearchPagePayloadContent() { Keyword = System.Net.WebUtility.UrlDecode(parameters.GetValue <string>("keyword")) }; } SelectedSearchTarget.Value = SearchTarget.Mylist; SelectedSearchSort.Value = MylistSearchOptionListItems.FirstOrDefault(x => x.Order == SearchOption.Order && x.Sort == SearchOption.Sort); SelectedSearchSort.Subscribe(async opt => { SearchOption.Order = opt.Order; SearchOption.Sort = opt.Sort; SearchOptionText = Services.Helpers.SortHelper.ToCulturizedText(SearchOption.Sort, SearchOption.Order); await ResetList(); }) .AddTo(_NavigatingCompositeDisposable); Database.SearchHistoryDb.Searched(SearchOption.Keyword, SearchOption.SearchTarget); PageManager.PageTitle = $"\"{SearchOption.Keyword}\""; return(base.OnNavigatedToAsync(parameters)); }
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 CommunitySearchPagePayloadContent() { Keyword = Keyword }; } SelectedSearchTarget.Value = SearchOption?.SearchTarget ?? SearchTarget.Community; if (SearchOption == null) { throw new Models.Infrastructure.HohoemaExpception("コミュニティ検索"); } SelectedSearchSort.Value = CommunitySearchSortOptionListItems.FirstOrDefault(x => x.Order == SearchOption.Order && x.Sort == SearchOption.Sort); SelectedSearchMode.Value = CommunitySearchModeOptionListItems.FirstOrDefault(x => x.Mode == SearchOption.Mode); new[] { SelectedSearchSort.ToUnit(), SelectedSearchMode.ToUnit() } .CombineLatest() .Subscribe(async _ => { SearchOption.Sort = SelectedSearchSort.Value.Sort; SearchOption.Order = SelectedSearchSort.Value.Order; SearchOption.Mode = SelectedSearchMode.Value.Mode; ResetList(); }) .AddTo(_NavigatingCompositeDisposable); _searchHistoryRepository.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 <CommunitySearchPagePayloadContent>(e.Parameter as string); } SelectedSearchTarget.Value = SearchOption?.SearchTarget ?? SearchTarget.Community; if (SearchOption == null) { throw new Exception("コミュニティ検索"); } SelectedSearchSort.Value = CommunitySearchSortOptionListItems.FirstOrDefault(x => x.Order == SearchOption.Order && x.Sort == SearchOption.Sort); SelectedSearchMode.Value = CommunitySearchModeOptionListItems.FirstOrDefault(x => x.Mode == SearchOption.Mode); new[] { SelectedSearchSort.ToUnit(), SelectedSearchMode.ToUnit() } .CombineLatest() .Subscribe(async _ => { SearchOption.Sort = SelectedSearchSort.Value.Sort; SearchOption.Order = SelectedSearchSort.Value.Order; SearchOption.Mode = SelectedSearchMode.Value.Mode; await ResetList(); RefreshSearchOptionText(); }) .AddTo(_NavigatingCompositeDisposable); Database.SearchHistoryDb.Searched(SearchOption.Keyword, SearchOption.SearchTarget); base.OnNavigatedTo(e, viewModelState); }