public string LinkAniDBMAL(int animeID, int malID, string malTitle, int epType, int epNumber) { try { CrossRef_AniDB_MALRepository repCrossRef = new CrossRef_AniDB_MALRepository(); CrossRef_AniDB_MAL xrefTemp = repCrossRef.GetByMALID(malID); if (xrefTemp != null) { string animeName = ""; try { AniDB_AnimeRepository repAnime = new AniDB_AnimeRepository(); AniDB_Anime anime = repAnime.GetByAnimeID(xrefTemp.AnimeID); if (anime != null) animeName = anime.MainTitle; } catch { } return string.Format("Not using MAL link as this MAL ID ({0}) is already in use by {1} ({2})", malID, xrefTemp.AnimeID, animeName); } xrefTemp = repCrossRef.GetByAnimeConstraint(animeID, epType, epNumber); if (xrefTemp != null) { // delete the link first because we are over-writing it repCrossRef.Delete(xrefTemp.CrossRef_AniDB_MALID); //return string.Format("Not using MAL link as this Anime ID ({0}) is already in use by {1}/{2}/{3} ({4})", animeID, xrefTemp.MALID, epType, epNumber, xrefTemp.MALTitle); } MALHelper.LinkAniDBMAL(animeID, malID, malTitle, epType, epNumber, false); return ""; } catch (Exception ex) { logger.ErrorException(ex.ToString(), ex); return ex.Message; } }
public string LinkAniDBMALUpdated(int animeID, int malID, string malTitle, int oldEpType, int oldEpNumber, int newEpType, int newEpNumber) { try { CrossRef_AniDB_MALRepository repCrossRef = new CrossRef_AniDB_MALRepository(); CrossRef_AniDB_MAL xrefTemp = repCrossRef.GetByAnimeConstraint(animeID, oldEpType, oldEpNumber); if (xrefTemp == null) return string.Format("Could not find MAL link ({0}/{1}/{2})", animeID, oldEpType, oldEpNumber); repCrossRef.Delete(xrefTemp.CrossRef_AniDB_MALID); return LinkAniDBMAL(animeID, malID, malTitle, newEpType, newEpNumber); } catch (Exception ex) { logger.ErrorException(ex.ToString(), ex); return ex.Message; } }
public static void RemoveLinkAniDBMAL(int animeID, int epType, int epNumber) { CrossRef_AniDB_MALRepository repCrossRef = new CrossRef_AniDB_MALRepository(); CrossRef_AniDB_MAL xref = repCrossRef.GetByAnimeConstraint(animeID, epType, epNumber); if (xref == null) return; repCrossRef.Delete(xref.CrossRef_AniDB_MALID); StatsCache.Instance.UpdateUsingAnime(animeID); CommandRequest_WebCacheDeleteXRefAniDBMAL req = new CommandRequest_WebCacheDeleteXRefAniDBMAL(animeID, epType, epNumber); req.Save(); }