Example #1
0
 public SubscriptionSourceEntity AddSubscription(IMylist mylist)
 {
     return(AddSubscription_Internal(new SubscriptionSourceEntity()
     {
         Label = mylist.Name, SourceParameter = mylist.PlaylistId.Id, SourceType = SubscriptionSourceType.Mylist
     }));
 }
Example #2
0
 public static string GetLabel(this IFollowable followable)
 {
     return(followable switch
     {
         IUser user => user.Nickname,
         Video.ITag tag => tag.Tag,
         IChannel channel => channel.Name,
         IMylist mylist => mylist.Name,
         ICommunity community => community.Name,
         _ => throw new NotSupportedException(followable?.GetType().Name),
     });
Example #3
0
 public static string GetLabel(this INiconicoObject obj)
 {
     return(obj switch
     {
         IVideoContent video => video.Title,
         ILiveContent live => live.Title,
         ICommunity community => community.Name,
         IChannel channel => channel.Name,
         IMylist mylist => mylist.Name,
         ITag tag => tag.Tag,
         IUser user => user.Nickname,
         _ => throw new NotSupportedException(obj.ToString())
     });
Example #4
0
        public static Services.PlaylistOrigin?ToMylistOrigin(this IMylist mylist)
        {
            switch (mylist)
            {
            case ILocalMylist _: return(Services.PlaylistOrigin.Local);

            case IUserOwnedRemoteMylist _: return(Services.PlaylistOrigin.LoginUser);

            case IOtherOwnedMylist _: return(Services.PlaylistOrigin.OtherUser);

            default: return(default(Services.PlaylistOrigin?));
            }
        }
        public async Task <MylistItemsGetResult> GetLoginUserMylistItemsAsync(IMylist mylist, int page, int pageSize, MylistSortKey sortKey, MylistSortOrder sortOrder)
        {
            if (mylist.UserId != _niconicoSession.UserId)
            {
                throw new ArgumentException();
            }

            if (mylist.MylistId.IsWatchAfterMylist)
            {
                var mylistItemsRes = await _niconicoSession.ToolkitContext.Mylist.LoginUser.GetWatchAfterItemsAsync(page, pageSize, sortKey, sortOrder);

                var res   = mylistItemsRes.Data.Mylist;
                var items = res.Items;
                foreach (var item in items)
                {
                    _loginUserMylistItemIdRepository.AddItem(item.ItemId, mylist.MylistId, item.WatchId);
                }

                return(new MylistItemsGetResult()
                {
                    MylistId = mylist.MylistId,
                    IsSuccess = true,
                    Items = items,
                    NicoVideoItems = items.Select(MylistDataToNicoVideoData).ToArray(),
                    TotalCount = (int)mylistItemsRes.Data.Mylist.TotalCount,
                    HeadPosition = page * pageSize,
                });
            }
            else
            {
                var mylistItemsRes = await _niconicoSession.ToolkitContext.Mylist.LoginUser.GetMylistItemsAsync(mylist.PlaylistId.Id, (int)page, (int)pageSize, sortKey, sortOrder);

                var res   = mylistItemsRes.Data.Mylist;
                var items = res.Items;
                foreach (var item in items)
                {
                    _loginUserMylistItemIdRepository.AddItem(item.ItemId, mylist.MylistId, item.WatchId);
                }

                return(new MylistItemsGetResult()
                {
                    MylistId = mylist.MylistId,
                    IsSuccess = true,
                    Items = items,
                    NicoVideoItems = items.Select(MylistDataToNicoVideoData).ToArray(),
                    TotalCount = (int)mylistItemsRes.Data.Mylist.TotalItemCount,
                    HeadPosition = page * pageSize,
                });
            }
        }
Example #6
0
        public void Play(IMylist mylist)
        {
            var videoId = mylist.FirstOrDefault();

            if (!(NiconicoRegex.IsVideoId(videoId) || videoId.All(x => '0' <= x && x <= '9')))
            {
                throw new Exception("Video Id not correct format. (\"sm0123456\" or \"12345678\") ");
            }

            Play(new QualityVideoPlaylistItem()
            {
                ContentId = videoId,
                Owner     = mylist,
                Type      = PlaylistItemType.Video,
            });
        }
        public async Task <List <IVideoContent> > GetLoginUserMylistItemsAsync(IMylist mylist)
        {
            if (mylist.UserId != NiconicoSession.UserIdString)
            {
                throw new ArgumentException();
            }

            var items = await ContextActionAsync(async context =>
            {
                return(await context.User.GetMylistItemListAsync(mylist.Id));
            });

            Database.Temporary.MylistDb.AddItemId(items.Select(x => new Database.Temporary.MylistItemIdContainer()
            {
                MylistGroupId = mylist.Id,
                VideoId       = x.WatchId,
                ItemId        = x.ItemId
            }));

            return(items.Select(x => MylistDataToNicoVideoData(x)).Cast <IVideoContent>().ToList());
        }
 public MylistVideItemViewModel(string rawVideoId, IMylist ownerPlaylist)
     : base(rawVideoId, ownerPlaylist)
 {
 }
Example #9
0
 public MylistFollowRemoveConfirmingAsyncRequestMessage(IMylist mylist)
 {
     Target = mylist;
 }
Example #10
0
 public static bool IsDefaultMylist(this IMylist mylist)
 {
     return(mylist?.Id == DefailtMylistId);
 }
 static public bool IsDefaultMylist(IMylist mylist)
 {
     return(mylist?.Id == UserOwnedMylist.DefailtMylistId);
 }