public MylistIncrementalSource( MylistPlaylist mylist ) : base() { _mylist = mylist; }
private async Task <ICollection <IVideoContent> > CreateItemsSourceAsync(MylistPlaylist mylist) { if (mylist is LoginUserMylistPlaylist loginUserMylist) { var source = new LoginUserMylistIncrementalSource(loginUserMylist); await source.ResetSource(); return(new IncrementalLoadingCollection <LoginUserMylistIncrementalSource, IVideoContent>(source)); } else { var source = new MylistIncrementalSource(mylist); await source.ResetSource(); return(new IncrementalLoadingCollection <MylistIncrementalSource, IVideoContent>(source)); } }
public async Task <MylistPlaylist?> GetMylist(MylistId mylistId) { if (mylistId.IsWatchAfterMylist) { var res = await _niconicoSession.ToolkitContext.Mylist.LoginUser.GetWatchAfterItemsAsync(0, 1); var detail = res.Data.Mylist; var mylist = new MylistPlaylist(mylistId, this) { Name = "WatchAfterMylist".Translate(), Count = (int)detail.TotalCount, IsPublic = true, ThumbnailImages = detail.Items?.Take(3).Select(x => x.Video.Thumbnail.ListingUrl).ToArray(), }; return(mylist); } else { var detail = await GetMylistGroupDetail(mylistId); if (detail == null) { return(null); } var mylist = new MylistPlaylist(detail.Id.ToString(), this) { Name = detail.Name, Count = (int)detail.ItemsCount, CreateTime = detail.CreatedAt.DateTime, //DefaultSortOrder = , IsPublic = detail.IsPublic, SortIndex = 0, UserId = detail.Owner.Id, Description = detail.Description, ThumbnailImages = detail.SampleItems?.Take(3).Select(x => x.Video.Thumbnail.ListingUrl).ToArray(), }; return(mylist); } }