Example #1
0
 /// <summary>
 /// マイリストのアイテムの情報を更新する
 /// </summary>
 /// <param name="group_id">登録対象のマイリストグループID</param>
 /// <param name="item_type">アイテムの種類(動画、静画etc)</param>
 /// <param name="item_id">アイテムのID(smなどの接頭辞を含む)</param>
 /// <param name="description">登録アイテムに対するコメント</param>
 /// <returns></returns>
 public Task <ContentManageResult> UpdateMylistItemAsync(string group_id, NiconicoItemType item_type, string item_id, string description)
 {
     if (LoginUserMylistGroupData.IsDeflist(group_id))
     {
         return(MylistClient.UpdateDeflistAsync(_context, item_type, item_id, description));
     }
     else
     {
         return(MylistClient.UpdateMylistItemAsync(_context, group_id, item_type, item_id, description));
     }
 }
Example #2
0
 /// <summary>
 /// マイリストからアイテムを削除します
 /// </summary>
 /// <param name="mylistData"></param>
 /// <returns></returns>
 public Task <ContentManageResult> RemoveMylistItemAsync(string group_id, params string[] itemIdList)
 {
     if (LoginUserMylistGroupData.IsDeflist(group_id))
     {
         return(MylistClient.RemoveDeflistAsync(_context, itemIdList));
     }
     else
     {
         return(MylistClient.RemoveMylistItemAsync(_context, group_id, itemIdList));
     }
 }
Example #3
0
        /// <summary>
        /// マイリストのアイテムを別のマイリストに移動します。
        /// </summary>
        /// <param name="targetMylistGroup"></param>
        /// <param name="datum"></param>
        /// <returns></returns>
        /// <remarks>ターゲットにはとりあえずマイリストを指定することは出来ません。</remarks>
        public Task <ContentManageResult> MoveMylistItemAsync(string group_id, string target_group_id, params string[] itemIdList)
        {
            if (group_id == target_group_id)
            {
                return(Task.FromResult(ContentManageResult.Success));
            }

            if (LoginUserMylistGroupData.IsDeflist(target_group_id))
            {
                // とりあえずマイリストへの移動はサポートしていない
                throw new NotSupportedException("not support mylist item move to Deflist(とりあえずマイリスト)");
            }

            if (LoginUserMylistGroupData.IsDeflist(group_id))
            {
                return(MylistClient.MoveDeflistAsync(_context, target_group_id, itemIdList));
            }
            else
            {
                return(MylistClient.MoveMylistItemAsync(_context, group_id, target_group_id, itemIdList));
            }
        }
Example #4
0
 public Task <MylistGroupDetail> GetDeflistMylistGroupDetailAsync()
 {
     return(MylistClient.GetMylistGroupDetailAsync(_context, DefMylistId));
 }
Example #5
0
 /// <summary>
 /// マイリストグループの詳細を取得します
 /// </summary>
 /// <param name="group_id"></param>
 /// <returns></returns>
 public Task <MylistGroupDetail> GetMylistGroupDetailAsync(string group_id)
 {
     return(MylistClient.GetMylistGroupDetailAsync(_context, group_id));
 }
Example #6
0
 public Task <MylistGroupItemsResponse> GetMylistGroupItemsAsync(long group_id, MylistSortKey sortKey, MylistSortOrder sortOrder, uint pageSize = 25, uint page = 0)
 {
     return(MylistClient.GetMylistGroupItemsAsync(_context, group_id, sortKey, sortOrder, pageSize, page));
 }
Example #7
0
 /// <summary>
 /// マイリストにアイテムを登録する
 /// </summary>
 /// <param name="group_id">登録対象のマイリストグループID</param>
 /// <param name="mylistData">マイリストデータ</param>
 /// <returns></returns>
 public Task <ContentManageResult> AddMylistItemAsync(string group_id, MylistData mylistData)
 {
     return(MylistClient.AddMylistItemAsync(_context, mylistData.GroupId, mylistData.ItemType, mylistData.ItemId, mylistData.Description));
 }
Example #8
0
 public Task <WatchAfterMylistGroupItemsResponse> GetWatchAfterMylistGroupItemsAsync(MylistSortKey sortKey, MylistSortOrder sortOrder, uint pageSize = 25, uint page = 0)
 {
     return(MylistClient.GetWatchAfterMylistGroupItemsAsync(_context, sortKey, sortOrder, pageSize, page));
 }
Example #9
0
 /// <summary>
 /// ログイン中のユーザーのマイリストグループを削除
 /// </summary>
 /// <param name="group_id">削除対象のマイリストグループID(</param>
 /// <returns></returns>
 public Task <bool> RemoveMylistGroupAsync(string mylist)
 {
     return(MylistClient.RemoveMylistGroupAsync(_context, mylist));
 }
Example #10
0
 /// <summary>
 /// ログイン中のユーザーのマイリストグループを更新
 /// </summary>
 /// <param name="group_id"></param>
 /// <param name="name"></param>
 /// <param name="description"></param>
 /// <param name="is_public"></param>
 /// <param name="default_sort"></param>
 /// <param name="iconType"></param>
 /// <returns></returns>
 public Task <bool> UpdateMylistGroupAsync(string mylist, string name, string description, bool isPublic, MylistSortKey defaultSortKey, MylistSortOrder defaultSortOrder)
 {
     return(MylistClient.UpdateMylistGroupAsync(_context, mylist, name, description, isPublic, defaultSortKey, defaultSortOrder));
 }
Example #11
0
 public Task <MylistGroupsResponse> GetMylistGroupsAsync(int userId)
 {
     return(MylistClient.GetMylistGroupsAsync(_context, userId));
 }
Example #12
0
        // Note: MylistGroupとMylistの違いについて

        // MylistGroupがいわゆるマイリストと呼ばれる大本のデータ
        // MylistGroupの持つgroup_idをAPIに渡すことでそのMylistGroupが持つ
        // 動画や静画などのマイリスト登録されたアイテムの一覧を取得することができます



        // Note: とりあえずマイリストと個別マイリストについて

        // GroupId=="0"は「とりあえずマイリスト」として扱われます。
        // とりあえずマイリストと個別マイリストは操作するためのAPIのURLが異なります。
        // とりあえずマイリスト /api/deflist
        // 個別マイリスト /api/mylist



        /// <summary>
        /// ログイン中のユーザーのマイリストグループ一覧を取得
        /// </summary>
        /// <returns></returns>
        public Task <MylistGroupsResponse> GetLoginUserMylistGroupsAsync()
        {
            return(MylistClient.GetLoginUserMylistGroupsAsync(_context));
        }