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 = HohoemaApp.LoginUserId.ToString(); } if (userId == UserId) { return; } UserId = userId; // ログインユーザーと同じ場合、お気に入り表示をOFFに IsLoginUser = HohoemaApp.LoginUserId.ToString() == userId; IsLoadFailed = false; MylistGroups.Clear(); VideoInfoItems.Clear(); try { var userInfo = await HohoemaApp.ContentProvider.GetUserDetail(UserId); var user = userInfo; UserName = user.Nickname; UserIconUri = user.ThumbnailUri; Description = user.Description; 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 = HohoemaApp.UserSettings.NGSettings.IsNgVideoOwnerId(UserId); IsNGVideoOwner.Value = ngResult != null; } else { IsNGVideoOwner.Value = false; } // お気に入り状態の取得 _NowProcessFavorite = true; if (HohoemaApp.IsLoggedIn) { var favManager = HohoemaApp.FollowManager; IsFavorite.Value = favManager.IsFollowItem(FollowItemType.User, UserId); CanChangeFavoriteState.Value = IsFavorite.Value == true || favManager.CanMoreAddFollow(FollowItemType.User); } _NowProcessFavorite = false; try { await Task.Delay(500); var userVideos = await HohoemaApp.ContentProvider.GetUserVideos(uint.Parse(UserId), 1); foreach (var item in userVideos.Items.Take(5)) { var vm = new VideoInfoControlViewModel(item.VideoId, isNgEnabled: false); 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 (HohoemaApp.LoginUserId.ToString() == UserId) { foreach (var item in HohoemaApp.UserMylistManager.UserMylists) { MylistGroups.Add(new MylistGroupListItem(item, PageManager)); } } else { try { // await Task.Delay(500); var mylistGroups = await HohoemaApp.ContentProvider.GetUserMylistGroups(UserId); foreach (var item in mylistGroups) { MylistGroups.Add(new MylistGroupListItem(item, PageManager)); } } 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)); NowLoading = false; }
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(); } if (userId == UserId) { return; } UserId = userId; // ログインユーザーと同じ場合、お気に入り表示をOFFに IsLoginUser = HohoemaApp.LoginUserId.ToString() == userId; IsLoadFailed = false; MylistGroups.Clear(); VideoInfoItems.Clear(); try { var userInfo = await HohoemaApp.ContentFinder.GetUserDetail(UserId); var user = userInfo; UserName = user.Nickname; UserIconUri = user.ThumbnailUri; Description = user.Description; FollowerCount = user.FollowerCount; StampCount = user.StampCount; VideoCount = user.TotalVideoCount; IsVideoPrivate = user.IsOwnerVideoPrivate; } catch { IsLoadFailed = true; NowLoading = false; } if (UserId == null) { return; } UpdateTitle($"{UserName} さん"); // NGユーザーの設定 if (!IsLoginUser) { var ngResult = HohoemaApp.UserSettings.NGSettings.IsNgVideoOwnerId(UserId); IsNGVideoOwner.Value = ngResult != null; } else { IsNGVideoOwner.Value = false; } // お気に入り状態の取得 _NowProcessFavorite = true; var favManager = HohoemaApp.FollowManager; IsFavorite.Value = favManager.IsFollowItem(FollowItemType.User, UserId); CanChangeFavoriteState.Value = IsFavorite.Value == true || favManager.CanMoreAddFollow(FollowItemType.User); _NowProcessFavorite = false; try { await Task.Delay(500); var userVideos = await HohoemaApp.ContentFinder.GetUserVideos(uint.Parse(UserId), 1); foreach (var item in userVideos.Items.Take(5)) { var nicoVideo = await HohoemaApp.MediaManager.GetNicoVideoAsync(item.VideoId); VideoInfoItems.Add(new VideoInfoControlViewModel(nicoVideo, PageManager)); } } catch (Exception ex) { IsLoadFailed = true; NowLoading = false; Debug.WriteLine(ex.Message); } HasOwnerVideo = VideoInfoItems.Count != 0; if (HohoemaApp.LoginUserId.ToString() == UserId) { foreach (var item in HohoemaApp.UserMylistManager.UserMylists) { MylistGroups.Add(new MylistGroupListItem(item, PageManager)); } } else { try { await Task.Delay(500); var mylistGroups = await HohoemaApp.ContentFinder.GetUserMylistGroups(UserId); foreach (var item in mylistGroups) { MylistGroups.Add(new MylistGroupListItem(item, PageManager)); } } catch (Exception ex) { IsLoadFailed = true; Debug.WriteLine(ex.Message); } } NowLoading = false; }