コード例 #1
0
        public Interfaces.IMylist FindMylistInCached(string id, Services.PlaylistOrigin?origin = null)
        {
            if (!origin.HasValue)
            {
                if (UserMylistManager.HasMylistGroup(id))
                {
                    origin = Services.PlaylistOrigin.LoginUser;
                }
                else if (Services.HohoemaPlaylist.WatchAfterPlaylistId == id)
                {
                    origin = Services.PlaylistOrigin.Local;
                }
                else if (LocalMylistManager.Mylists.FirstOrDefault(x => x.Id == id) != null)
                {
                    origin = Services.PlaylistOrigin.Local;
                }
                else
                {
                    origin = Services.PlaylistOrigin.OtherUser;
                }
            }

            switch (origin.Value)
            {
            case Services.PlaylistOrigin.LoginUser:
                // ログインユーザーのマイリスト
                return(UserMylistManager.GetMylistGroup(id));

            case Services.PlaylistOrigin.Local:
                // ローカルマイリスト
                if (Services.HohoemaPlaylist.WatchAfterPlaylistId == id)
                {
                    return(HohoemaPlaylist.DefaultPlaylist);
                }
                else
                {
                    return(LocalMylistManager.Mylists.FirstOrDefault(x => x.Id == id));
                }

            case Services.PlaylistOrigin.OtherUser:
                // 他ユーザーのマイリスト
                return(OtherOwneredMylistManager.GetMylistIfCached(id));

            default:
                throw new Exception("not found mylist:" + id);
            }
        }
コード例 #2
0
 public bool IsLoginUserMylistId(string mylistId)
 {
     return(_userMylistManager.HasMylistGroup(mylistId));
 }