protected override async Task NavigatedToAsync(CancellationToken cancelToken, NavigatedToEventArgs e, Dictionary <string, object> viewModelState) { if (e.Parameter is string) { UserId = e.Parameter as string; } if (e.Parameter == null || NiconicoSession.IsLoginUserId(UserId)) { IsLoginUserMylist.Value = true; // ログインユーザーのマイリスト一覧を表示 UserName = NiconicoSession.UserName; } else if (UserId != null) { try { var userInfo = await UserProvider.GetUser(UserId); UserName = userInfo.ScreenName; } catch (Exception ex) { System.Diagnostics.Debug.WriteLine(ex.Message); } } else { throw new Exception("UserMylistPage が不明なパラメータと共に開かれました : " + e.Parameter); } PageManager.PageTitle = UserName; AddMylistGroupCommand.RaiseCanExecuteChanged(); await base.NavigatedToAsync(cancelToken, e, viewModelState); }
public override async Task OnNavigatedToAsync(INavigationParameters parameters) { if (parameters.TryGetValue <string>("id", out string userId)) { UserId = userId; } if ((UserId == null && NiconicoSession.IsLoggedIn) || NiconicoSession.IsLoginUserId(UserId)) { IsLoginUserMylist.Value = true; // ログインユーザーのマイリスト一覧を表示 UserName = NiconicoSession.UserName; } else if (UserId != null) { try { var userInfo = await UserProvider.GetUser(UserId); UserName = userInfo.ScreenName; } catch (Exception ex) { System.Diagnostics.Debug.WriteLine(ex.Message); } } else { throw new Exception("UserMylistPage が不明なパラメータと共に開かれました : " + parameters.ToString()); } PageManager.PageTitle = UserName; AddMylistGroupCommand.RaiseCanExecuteChanged(); await base.OnNavigatedToAsync(parameters); }
protected override async Task NavigatedToAsync(CancellationToken cancelToken, NavigatedToEventArgs e, Dictionary <string, object> viewModelState) { NowLoading = true; string userId = null; if (e.Parameter is string) { userId = e.Parameter as string; } else if (e.Parameter is uint) { userId = ((uint)e.Parameter).ToString(); } else { userId = NiconicoSession.UserId.ToString(); } if (userId == UserId) { NowLoading = false; return; } UserId = userId; // ログインユーザーと同じ場合、お気に入り表示をOFFに IsLoginUser = NiconicoSession.UserId.ToString() == userId; IsLoadFailed = false; MylistGroups.Clear(); VideoInfoItems.Clear(); try { var userInfo = await UserProvider.GetUserDetail(UserId); var user = userInfo; UserName = user.Nickname; UserIconUri = user.ThumbnailUri; FollowerCount = user.FollowerCount; StampCount = user.StampCount; VideoCount = user.TotalVideoCount; IsVideoPrivate = user.IsOwnerVideoPrivate; } catch { IsLoadFailed = true; NowLoading = false; } if (UserId == null) { return; } // NGユーザーの設定 if (!IsLoginUser) { var ngResult = NgSettings.IsNgVideoOwnerId(UserId); IsNGVideoOwner.Value = ngResult != null; } else { IsNGVideoOwner.Value = false; } try { await Task.Delay(500); var userVideos = await UserProvider.GetUserVideos(uint.Parse(UserId), 1); foreach (var item in userVideos.Items.Take(5)) { var vm = new VideoInfoControlViewModel(item.VideoId); vm.SetTitle(item.Title); vm.SetThumbnailImage(item.ThumbnailUrl.OriginalString); VideoInfoItems.Add(vm); } RaisePropertyChanged(nameof(VideoInfoItems)); } catch (Exception ex) { IsLoadFailed = true; NowLoading = false; Debug.WriteLine(ex.Message); } HasOwnerVideo = VideoInfoItems.Count != 0; if (NiconicoSession.IsLoginUserId(UserId)) { foreach (var item in UserMylistManager.Mylists) { MylistGroups.Add(new MylistGroupListItem(item)); } } else { try { // await Task.Delay(500); var mylistGroups = await UserProvider.GetUserMylistGroups(UserId); foreach (var item in mylistGroups) { MylistGroups.Add(new MylistGroupListItem(item)); } } catch (Exception ex) { IsLoadFailed = true; Debug.WriteLine(ex.Message); } } RaisePropertyChanged(nameof(MylistGroups)); UserBookmark = Database.BookmarkDb.Get(Database.BookmarkType.User, UserId) ?? new Database.Bookmark() { Content = UserId, Label = UserName, BookmarkType = Database.BookmarkType.User }; RaisePropertyChanged(nameof(UserBookmark)); FollowToggleButtonService.SetFollowTarget(this); NowLoading = false; }
public async Task OnNavigatedToAsync(INavigationParameters parameters) { string userId = null; if (parameters.TryGetValue <string>("id", out var id)) { userId = id; } if (userId == UserId) { return; } UserId = userId; // ログインユーザーと同じ場合、お気に入り表示をOFFに IsLoginUser = NiconicoSession.UserId.ToString() == userId; IsLoadFailed = false; VideoInfoItems.Clear(); try { var userInfo = await UserProvider.GetUserDetail(UserId); var user = userInfo; UserName = user.Nickname; UserIconUri = user.ThumbnailUri; FollowerCount = user.FollowerCount; StampCount = user.StampCount; VideoCount = user.TotalVideoCount; IsVideoPrivate = user.IsOwnerVideoPrivate; } catch { IsLoadFailed = true; } if (UserId == null) { return; } // NGユーザーの設定 if (!IsLoginUser) { var ngResult = NgSettings.IsNgVideoOwnerId(UserId); IsNGVideoOwner.Value = ngResult != null; } else { IsNGVideoOwner.Value = false; } try { await Task.Delay(500); var userVideos = await UserProvider.GetUserVideos(uint.Parse(UserId), 1); foreach (var item in userVideos.Items.Take(5)) { var vm = new VideoInfoControlViewModel(item.VideoId); vm.SetTitle(item.Title); vm.SetThumbnailImage(item.ThumbnailUrl.OriginalString); VideoInfoItems.Add(vm); } RaisePropertyChanged(nameof(VideoInfoItems)); } catch (Exception ex) { IsLoadFailed = true; Debug.WriteLine(ex.Message); } HasOwnerVideo = VideoInfoItems.Count != 0; if (NiconicoSession.IsLoginUserId(UserId)) { MylistGroups = UserMylistManager.Mylists; } else { try { // await Task.Delay(500); MylistGroups = await _mylistRepository.GetUserMylistsAsync(UserId); } catch (Exception ex) { IsLoadFailed = true; Debug.WriteLine(ex.Message); } } RaisePropertyChanged(nameof(MylistGroups)); UserBookmark = Database.BookmarkDb.Get(Database.BookmarkType.User, UserId) ?? new Database.Bookmark() { Content = UserId, Label = UserName, BookmarkType = Database.BookmarkType.User }; RaisePropertyChanged(nameof(UserBookmark)); FollowToggleButtonService.SetFollowTarget(this); }
public override async Task OnNavigatedToAsync(INavigationParameters parameters) { if (parameters.TryGetValue("id", out string userId)) { UserId = userId; } else if (parameters.TryGetValue("id", out UserId justUserId)) { UserId = justUserId; } if ((!UserId.HasValue && NiconicoSession.IsLoggedIn) || UserId.HasValue && (NiconicoSession.IsLoginUserId(UserId.Value))) { // ログインユーザー用のマイリスト一覧ページにリダイレクト PageManager.ForgetLastPage(); PageManager.OpenPage(HohoemaPageType.OwnerMylistManage); return; } else if (UserId != null) { try { var userInfo = await UserProvider.GetUserInfoAsync(UserId.Value); UserName = userInfo.ScreenName; } catch (Exception ex) { System.Diagnostics.Debug.WriteLine(ex.Message); } } else { throw new Models.Infrastructure.HohoemaExpception("UserMylistPage が不明なパラメータと共に開かれました : " + parameters.ToString()); } await base.OnNavigatedToAsync(parameters); }