protected void AddImageUrl(string url) { ImageUrlsSource.Add(url); OnPropertyChanged(nameof(FirstImageUrl)); OnPropertyChanged(nameof(HasImageUrl)); OnPropertyChanged(nameof(IsMultipulImages)); }
public LiveInfoViewModel(VideoInfo liveVideoInfo, HohoemaPlaylist playlist, PageManager pageManager) { LiveVideoInfo = liveVideoInfo; PageManager = pageManager; Playlist = playlist; LiveId = liveVideoInfo.Video.Id; CommunityName = LiveVideoInfo.Community?.Name; CommunityThumbnail = LiveVideoInfo.Community?.Thumbnail; CommunityGlobalId = LiveVideoInfo.Community?.GlobalId; CommunityType = LiveVideoInfo.Video.ProviderType; LiveTitle = LiveVideoInfo.Video.Title; ViewCounter = int.Parse(LiveVideoInfo.Video.ViewCounter); CommentCount = int.Parse(LiveVideoInfo.Video.CommentCount); OpenTime = LiveVideoInfo.Video.OpenTime; StartTime = LiveVideoInfo.Video.StartTime; EndTime = LiveVideoInfo.Video.EndTime; IsTimeshiftEnabled = LiveVideoInfo.Video.TimeshiftEnabled; IsCommunityMemberOnly = LiveVideoInfo.Video.CommunityOnly; Title = LiveVideoInfo.Video.Title; OptionText = LiveVideoInfo.Community?.Name; ImageUrlsSource.Add(LiveVideoInfo.Community?.Thumbnail); var duration = EndTime - StartTime; if (LiveVideoInfo.Video.StartTime < DateTime.Now) { // 予約 DurationText = ""; } else if (LiveVideoInfo.Video.EndTime < DateTime.Now) { // 終了 if (duration.Hours > 0) { DurationText = $"({duration.Hours}時間 {duration.Minutes}分)"; } else { DurationText = $"({duration.Minutes}分)"; } } else { // 放送中 // 終了 if (duration.Hours > 0) { DurationText = $"{duration.Hours}時間 {duration.Minutes}分 経過"; } else { DurationText = $"{duration.Minutes}分 経過"; } } Description = DurationText; }
public CommunityInfoControlViewModel(Mntone.Nico2.Searches.Community.NicoCommynity commu, PageManager pageManager) { PageManager = pageManager; CommunityId = commu.Id; Name = commu.Name; ShortDescription = commu.ShortDescription; UpdateDate = commu.DateTime; IconUrl = commu.IconUrl.AbsoluteUri; Level = commu.Level; MemberCount = commu.MemberCount; VideoCount = commu.VideoCount; Title = commu.Name; Description = commu.ShortDescription; ImageUrlsSource.Add(commu.IconUrl.OriginalString); }
public MylistGroupListItem(MylistGroupData mylistGroup, PageManager pageManager) { _PageManager = pageManager; Title = mylistGroup.Name; Description = mylistGroup.Description; GroupId = mylistGroup.Id; OptionText = (mylistGroup.GetIsPublic() ? "公開" : "非公開") + $" - {mylistGroup.Count}件"; ThemeColor = mylistGroup.GetIconType().ToColor(); if (mylistGroup.ThumbnailUrls != null) { foreach (var thumbnailUri in mylistGroup.ThumbnailUrls) { ImageUrlsSource.Add(thumbnailUri.OriginalString); } } }
// 個別マイリストから取得したデータによる初期化 public VideoInfoControlViewModel(VideoInfo data, NicoVideo nicoVideo, PageManager pageManager) : this(nicoVideo, pageManager) { Title = data.Video.Title; RawVideoId = data.Video.Id; OptionText = data.Video.UploadTime.ToString(); if (!string.IsNullOrWhiteSpace(data.Video.ThumbnailUrl.OriginalString)) { ImageUrlsSource.Add(data.Video.ThumbnailUrl.OriginalString); } if (!nicoVideo.IsDeleted) { Description = $"再生:{data.Video.ViewCount}"; } ImageCaption = data.Video.Length.ToString(); // TODO: ユーザーフレンドリィ時間 VideoId = RawVideoId; }
public void SetupFromThumbnail(NicoVideo info) { // NG判定 if (_IsNGEnabled) { var ngResult = NicoVideo.CheckUserNGVideo(); IsVisible = ngResult == null; if (ngResult != null) { var ngDesc = !string.IsNullOrWhiteSpace(ngResult.NGDescription) ? ngResult.NGDescription : ngResult.Content; InvisibleDescription = $"NG動画"; } } Title = info.Title; OptionText = info.PostedAt.ToString("yyyy/MM/dd HH:mm"); if (!string.IsNullOrWhiteSpace(info.ThumbnailUrl)) { if (!ImageUrlsSource.Any(x => x == info.ThumbnailUrl)) { ImageUrlsSource.Add(info.ThumbnailUrl); } } if (!info.IsDeleted) { Description = $"再生:{info.ViewCount.ToString("N0")} コメ:{info.CommentCount.ToString("N0")} マイ:{info.MylistCount.ToString("N0")}"; } string timeText; if (info.VideoLength.Hours > 0) { timeText = info.VideoLength.ToString(@"hh\:mm\:ss"); } else { timeText = info.VideoLength.ToString(@"mm\:ss"); } ImageCaption = timeText; }
public MylistSearchListingItem(MylistGroup mylistgroup, PageManager pageManager) { _PageManager = pageManager; Name = mylistgroup.Name; Description = mylistgroup.Description; ItemCount = mylistgroup.ItemCount; GroupId = mylistgroup.Id; UpdateTime = mylistgroup.UpdateTime; Title = mylistgroup.Name; var thumbnails = mylistgroup.VideoInfoItems?.Select(x => x.Video.ThumbnailUrl.OriginalString); if (thumbnails != null) { foreach (var thumbnail in thumbnails) { ImageUrlsSource.Add(thumbnail); } } SampleVideos = mylistgroup.VideoInfoItems?.Select(x => x.Video).ToList() ?? new List <Mntone.Nico2.Searches.Video.Video>(); }