Example #1
0
        public async Task <ContentManageResult> UpdateMylist(string name, string description, bool is_public, MylistDefaultSort default_sort, IconType iconType)
        {
            if (this.GroupId == "0")
            {
                throw new Exception();
            }

            var sortChanged = default_sort != Sort;

            var result = await HohoemaApp.NiconicoContext.User.UpdateMylistGroupAsync(GroupId, name, description, is_public, default_sort, iconType);

            if (result == ContentManageResult.Success)
            {
                Description = description;
                Name        = name;
                IsPublic    = is_public;
                IconType    = iconType;
                Sort        = default_sort;


                if (sortChanged)
                {
                    await Refresh();
                }
            }

            return(result);
        }
Example #2
0
        public async Task <ContentManageResult> AddMylist(string name, string description, bool isPublic, MylistDefaultSort default_sort, IconType iconType)
        {
            var result = await _loginUserMylistProvider.AddMylist(name, description, isPublic, default_sort, iconType);

            if (result == ContentManageResult.Success)
            {
                await SyncMylistGroups();
            }

            return(result);
        }
Example #3
0
        /*
         *
         * public async Task<bool> AddMylistItem(string videoId)
         * {
         *  if (_VideoIdHashSet.Contains(videoId))
         *  {
         *      return false;
         *  }
         *
         *  var result = await LoginUserMylistProvider.AddMylistItem(this.GroupId, videoId);
         *  if (result == ContentManageResult.Success)
         *  {
         *      _VideoIdHashSet.Add(videoId);
         *      OriginalCollection.Add(videoId);
         *  }
         *
         *  return result == ContentManageResult.Success;
         * }
         *
         * public async Task<bool> RemoveMylistItem(string videoId)
         * {
         *  if (!_VideoIdHashSet.Contains(videoId))
         *  {
         *      return false;
         *  }
         *
         *  var result = await LoginUserMylistProvider.RemoveMylistItem(this.GroupId, videoId);
         *  if (result == ContentManageResult.Success)
         *  {
         *      _VideoIdHashSet.Remove(videoId);
         *      OriginalCollection.Remove(videoId);
         *  }
         *
         *  return result == ContentManageResult.Success;
         * }
         *
         *
         *
         * public bool ContainsVideoId(string videoId)
         *      {
         *              return _VideoIdHashSet.Contains(videoId);
         *      }
         *
         */

        static private void SortMylistData(ref List <MylistData> mylist, MylistDefaultSort sort)
        {
            switch (sort)
            {
            case MylistDefaultSort.Old:
                mylist.Sort((x, y) => DateTime.Compare(x.UpdateTime, y.UpdateTime));
                break;

            case MylistDefaultSort.Latest:
                mylist.Sort((x, y) => - DateTime.Compare(x.UpdateTime, y.UpdateTime));
                break;

            case MylistDefaultSort.Memo_Ascending:
                mylist.Sort((x, y) => string.Compare(x.Description, y.Description));
                break;

            case MylistDefaultSort.Memo_Descending:
                mylist.Sort((x, y) => - string.Compare(x.Description, y.Description));
                break;

            case MylistDefaultSort.Title_Ascending:
                mylist.Sort((x, y) => string.Compare(x.Title, y.Title));
                break;

            case MylistDefaultSort.Title_Descending:
                mylist.Sort((x, y) => - string.Compare(x.Title, y.Title));
                break;

            case MylistDefaultSort.FirstRetrieve_Ascending:
                mylist.Sort((x, y) => DateTime.Compare(x.FirstRetrieve, y.FirstRetrieve));
                break;

            case MylistDefaultSort.FirstRetrieve_Descending:
                mylist.Sort((x, y) => - DateTime.Compare(x.FirstRetrieve, y.FirstRetrieve));
                break;

            case MylistDefaultSort.View_Ascending:
                mylist.Sort((x, y) => (int)(x.ViewCount - y.ViewCount));
                break;

            case MylistDefaultSort.View_Descending:
                mylist.Sort((x, y) => - (int)(x.ViewCount - y.ViewCount));
                break;

            case MylistDefaultSort.Comment_New:
                // Note: コメント順は非対応
                mylist.Sort((x, y) => (int)(x.CommentCount - y.CommentCount));
                break;

            case MylistDefaultSort.Comment_Old:
                // Note: コメント順は非対応
                mylist.Sort((x, y) => - (int)(x.CommentCount - y.CommentCount));
                break;

            case MylistDefaultSort.CommentCount_Ascending:
                mylist.Sort((x, y) => (int)(x.CommentCount - y.CommentCount));
                break;

            case MylistDefaultSort.CommentCount_Descending:
                mylist.Sort((x, y) => - (int)(x.CommentCount - y.CommentCount));
                break;

            case MylistDefaultSort.MylistCount_Ascending:
                mylist.Sort((x, y) => (int)(x.MylistCount - y.MylistCount));
                break;

            case MylistDefaultSort.MylistCount_Descending:
                mylist.Sort((x, y) => - (int)(x.MylistCount - y.MylistCount));
                break;

            case MylistDefaultSort.Length_Ascending:
                mylist.Sort((x, y) => TimeSpan.Compare(x.Length, y.Length));
                break;

            case MylistDefaultSort.Length_Descending:
                mylist.Sort((x, y) => - TimeSpan.Compare(x.Length, y.Length));
                break;

            default:
                break;
            }
        }
 public async Task <ContentManageResult> AddMylist(string name, string description, bool is_public, MylistDefaultSort default_sort, IconType iconType)
 {
     return(await ContextActionAsync(async context =>
     {
         return await context.User.CreateMylistGroupAsync(name, description, is_public, default_sort, iconType);
     }));
 }
Example #5
0
        public async Task <ContentManageResult> AddMylist(string name, string description, bool is_public, MylistDefaultSort default_sort, IconType iconType)
        {
            var result = await HohoemaApp.NiconicoContext.User.CreateMylistGroupAsync(name, description, is_public, default_sort, iconType);

            if (result == ContentManageResult.Success)
            {
                await SyncMylistGroups();
            }

            return(result);
        }