public override void ProcessCommand() { logger.Info("Processing CommandRequest_GetReleaseGroup: {0}", GroupID); try { AniDB_ReleaseGroupRepository repRelGrp = new AniDB_ReleaseGroupRepository(); AniDB_ReleaseGroup relGroup = repRelGrp.GetByGroupID(GroupID); if (ForceRefresh || relGroup == null) { // redownload anime details from http ap so we can get an update character list JMMService.AnidbProcessor.GetReleaseGroupUDP(GroupID); } } catch (Exception ex) { logger.Error("Error processing CommandRequest_GetReleaseGroup: {0} - {1}", GroupID, ex.ToString()); return; } }
// 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); }