public static void Populate(this AniDB_ReleaseGroup releasegroup, Raw_AniDB_Group raw) { releasegroup.GroupID = raw.GroupID; releasegroup.Rating = raw.Rating; releasegroup.Votes = raw.Votes; releasegroup.AnimeCount = raw.AnimeCount; releasegroup.FileCount = raw.FileCount; releasegroup.GroupName = raw.GroupName; releasegroup.GroupNameShort = raw.GroupNameShort; releasegroup.IRCChannel = raw.IRCChannel; releasegroup.IRCServer = raw.IRCServer; releasegroup.URL = raw.URL; releasegroup.Picname = raw.Picname; }
public void Delete(int id) { using (var session = JMMService.SessionFactory.OpenSession()) { // populate the database using (var transaction = session.BeginTransaction()) { AniDB_ReleaseGroup cr = GetByID(id); if (cr != null) { session.Delete(cr); transaction.Commit(); } } } }
public override void ProcessCommand() { logger.Info("Processing CommandRequest_GetReleaseGroup: {0}", GroupID); try { AniDB_ReleaseGroup relGroup = RepoFactory.AniDB_ReleaseGroup.GetByGroupID(GroupID); if (ForceRefresh || relGroup == null) { // redownload anime details from http ap so we can get an update character list ShokoService.AnidbProcessor.GetReleaseGroupUDP(GroupID); } } catch (Exception ex) { logger.Error("Error processing CommandRequest_GetReleaseGroup: {0} - {1}", GroupID, ex); } }
public override void Run(IProgress <ICommand> progress = null) { logger.Info("Processing CommandRequest_GetReleaseGroup: {0}", GroupID); try { ReportInit(progress); AniDB_ReleaseGroup relGroup = Repo.Instance.AniDB_ReleaseGroup.GetByGroupID(GroupID); ReportUpdate(progress, 50); if (ForceRefresh || relGroup == null) { // redownload anime details from http ap so we can get an update character list ShokoService.AnidbProcessor.GetReleaseGroupUDP(GroupID); } ReportFinish(progress); } catch (Exception ex) { ReportError(progress, $"Error processing Command AniDb.GetReleaseGroup: {GroupID} - {ex}", ex); } }
// NO LONGER USED /*public AniDB_Seiyuu GetCreatorInfoUDP(int creatorID) * { * if (!Login()) return null; * * enHelperActivityType ev = enHelperActivityType.NoSuchCreator; * AniDBCommand_GetCreatorInfo getCreatorCmd = null; * lock (lockAniDBConnections) * { * Pause(); * * getCreatorCmd = new AniDBCommand_GetCreatorInfo(); * getCreatorCmd.Init(creatorID, true); * ev = getCreatorCmd.Process(ref soUdp, ref remoteIpEndPoint, curSessionID, new UnicodeEncoding(true, false)); * } * * AniDB_Seiyuu chr = null; * if (ev == enHelperActivityType.GotCreatorInfo && getCreatorCmd.CreatorInfo != null) * { * AniDB_CreatorRepository repCreator = new AniDB_CreatorRepository(); * chr = repCreator.GetByCreatorID(creatorID); * if (chr == null) chr = new AniDB_Seiyuu(); * * chr.Populate(getCreatorCmd.CreatorInfo); * repCreator.Save(chr); * } * * return chr; * }*/ public AniDB_ReleaseGroup GetReleaseGroupUDP(int groupID) { if (!Login()) { return(null); } enHelperActivityType ev = enHelperActivityType.NoSuchGroup; AniDBCommand_GetGroup getCmd = null; lock (lockAniDBConnections) { Pause(); getCmd = new AniDBCommand_GetGroup(); getCmd.Init(groupID); SetWaitingOnResponse(true); ev = getCmd.Process(ref soUdp, ref remoteIpEndPoint, curSessionID, new UnicodeEncoding(true, false)); SetWaitingOnResponse(false); } AniDB_ReleaseGroupRepository repRelGrp = new AniDB_ReleaseGroupRepository(); AniDB_ReleaseGroup relGroup = null; if (ev == enHelperActivityType.GotGroup && getCmd.Group != null) { relGroup = repRelGrp.GetByGroupID(groupID); if (relGroup == null) { relGroup = new AniDB_ReleaseGroup(); } relGroup.Populate(getCmd.Group); repRelGrp.Save(relGroup); } return(relGroup); }
public CL_VideoDetailed ToClientDetailed(int userID) { CL_VideoDetailed cl = new CL_VideoDetailed(); // get the cross ref episode List <CrossRef_File_Episode> xrefs = EpisodeCrossRefs; if (xrefs.Count == 0) { return(null); } cl.Percentage = xrefs[0].Percentage; cl.EpisodeOrder = xrefs[0].EpisodeOrder; cl.CrossRefSource = xrefs[0].CrossRefSource; cl.AnimeEpisodeID = xrefs[0].EpisodeID; cl.VideoLocal_FileName = FileName; cl.VideoLocal_Hash = Hash; cl.VideoLocal_FileSize = FileSize; cl.VideoLocalID = VideoLocalID; cl.VideoLocal_IsIgnored = IsIgnored; cl.VideoLocal_IsVariation = IsVariation; cl.Places = Places.Select(a => a.ToClient()).ToList(); cl.VideoLocal_MD5 = MD5; cl.VideoLocal_SHA1 = SHA1; cl.VideoLocal_CRC32 = CRC32; cl.VideoLocal_HashSource = HashSource; VideoLocal_User userRecord = GetUserRecord(userID); if (userRecord?.WatchedDate == null) { cl.VideoLocal_IsWatched = 0; cl.VideoLocal_WatchedDate = null; cl.VideoLocal_ResumePosition = 0; } else { cl.VideoLocal_IsWatched = userRecord.WatchedDate.HasValue ? 1 : 0; cl.VideoLocal_WatchedDate = userRecord.WatchedDate; } if (userRecord != null) { cl.VideoLocal_ResumePosition = userRecord.ResumePosition; } cl.VideoInfo_AudioBitrate = AudioBitrate; cl.VideoInfo_AudioCodec = AudioCodec; cl.VideoInfo_Duration = Duration; cl.VideoInfo_VideoBitrate = VideoBitrate; cl.VideoInfo_VideoBitDepth = VideoBitDepth; cl.VideoInfo_VideoCodec = VideoCodec; cl.VideoInfo_VideoFrameRate = VideoFrameRate; cl.VideoInfo_VideoResolution = VideoResolution; // AniDB File SVR_AniDB_File anifile = GetAniDBFile(); // to prevent multiple db calls if (anifile != null) { cl.AniDB_Anime_GroupName = anifile.Anime_GroupName; cl.AniDB_Anime_GroupNameShort = anifile.Anime_GroupNameShort; cl.AniDB_AnimeID = anifile.AnimeID; cl.AniDB_CRC = anifile.CRC; cl.AniDB_Episode_Rating = anifile.Episode_Rating; cl.AniDB_Episode_Votes = anifile.Episode_Votes; cl.AniDB_File_AudioCodec = anifile.File_AudioCodec; cl.AniDB_File_Description = anifile.File_Description; cl.AniDB_File_FileExtension = anifile.File_FileExtension; cl.AniDB_File_LengthSeconds = anifile.File_LengthSeconds; cl.AniDB_File_ReleaseDate = anifile.File_ReleaseDate; cl.AniDB_File_Source = anifile.File_Source; cl.AniDB_File_VideoCodec = anifile.File_VideoCodec; cl.AniDB_File_VideoResolution = anifile.File_VideoResolution; cl.AniDB_FileID = anifile.FileID; cl.AniDB_GroupID = anifile.GroupID; cl.AniDB_MD5 = anifile.MD5; cl.AniDB_SHA1 = anifile.SHA1; cl.AniDB_File_FileVersion = anifile.FileVersion; cl.AniDB_File_IsCensored = anifile.IsCensored; cl.AniDB_File_IsChaptered = anifile.IsChaptered; cl.AniDB_File_IsDeprecated = anifile.IsDeprecated; cl.AniDB_File_InternalVersion = anifile.InternalVersion; // languages cl.LanguagesAudio = anifile.LanguagesRAW; cl.LanguagesSubtitle = anifile.SubtitlesRAW; } else { cl.AniDB_Anime_GroupName = string.Empty; cl.AniDB_Anime_GroupNameShort = string.Empty; cl.AniDB_CRC = string.Empty; cl.AniDB_File_AudioCodec = string.Empty; cl.AniDB_File_Description = string.Empty; cl.AniDB_File_FileExtension = string.Empty; cl.AniDB_File_Source = string.Empty; cl.AniDB_File_VideoCodec = string.Empty; cl.AniDB_File_VideoResolution = string.Empty; cl.AniDB_MD5 = string.Empty; cl.AniDB_SHA1 = string.Empty; cl.AniDB_File_FileVersion = 1; // languages cl.LanguagesAudio = string.Empty; cl.LanguagesSubtitle = string.Empty; } AniDB_ReleaseGroup relGroup = ReleaseGroup; // to prevent multiple db calls if (relGroup != null) { cl.ReleaseGroup = relGroup; } else { cl.ReleaseGroup = null; } cl.Media = GetMediaFromUser(userID); return(cl); }