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); } }
public bool IsLoginUserMylistId(string mylistId) { return(_userMylistManager.HasMylistGroup(mylistId)); }