Ejemplo n.º 1
0
 public MylistIncrementalSource(
     MylistPlaylist mylist
     )
     : base()
 {
     _mylist = mylist;
 }
Ejemplo n.º 2
0
        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));
            }
        }
Ejemplo n.º 3
0
        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);
            }
        }