示例#1
0
		public AniDB_Anime GetAnimeInfoHTTP(ISession session, int animeID, bool forceRefresh, bool downloadRelations)
		{
			//if (!Login()) return null;

			AniDB_AnimeRepository repAnime = new AniDB_AnimeRepository();
			AniDB_Anime anime = null;

			bool skip = true;
			if (forceRefresh)
				skip = false;
			else
			{
				anime = repAnime.GetByAnimeID(session, animeID);
				if (anime == null) skip = false;
			}

			if (skip)
			{
				if (anime == null)
					anime = repAnime.GetByAnimeID(session, animeID);

				return anime;

			}

			AniDBHTTPCommand_GetFullAnime getAnimeCmd = null;
			lock (lockAniDBConnections)
			{
				Pause();

				getAnimeCmd = new AniDBHTTPCommand_GetFullAnime();
				getAnimeCmd.Init(animeID, false, forceRefresh, false);
				getAnimeCmd.Process();
			}

			
			if (getAnimeCmd.Anime != null)
			{
				anime = SaveResultsForAnimeXML(session, animeID, downloadRelations, getAnimeCmd);

				if (forceRefresh)
				{
					CommandRequest_Azure_SendAnimeFull cmdAzure = new CommandRequest_Azure_SendAnimeFull(anime.AnimeID);
					cmdAzure.Save(session);
				}
				
			}

			return anime;
		}
示例#2
0
		public AniDB_Anime GetAnimeInfoHTTPFromCache(ISession session, int animeID, bool downloadRelations)
		{
			AniDBHTTPCommand_GetFullAnime getAnimeCmd = null;
			lock (lockAniDBConnections)
			{
				getAnimeCmd = new AniDBHTTPCommand_GetFullAnime();
				getAnimeCmd.Init(animeID, false, false, true);
				getAnimeCmd.Process();
			}

			AniDB_Anime anime = null;
			if (getAnimeCmd.Anime != null)
			{
				anime = SaveResultsForAnimeXML(session, animeID, downloadRelations, getAnimeCmd);

			}
			return anime;
		}
        public AniDB_Anime GetAnimeInfoHTTP(ISession session, int animeID, bool forceRefresh, bool downloadRelations)
        {
            //if (!Login()) return null;

            AniDB_Anime anime = null;
            ISessionWrapper sessionWrapper = session.Wrap();

            bool skip = true;
            if (forceRefresh)
                skip = false;
            else
            {
                anime = RepoFactory.AniDB_Anime.GetByAnimeID(sessionWrapper, animeID);
                if (anime == null) skip = false;
            }

            if (skip)
            {
                if (anime == null)
                    anime = RepoFactory.AniDB_Anime.GetByAnimeID(sessionWrapper, animeID);

                return anime;
            }

            AniDBHTTPCommand_GetFullAnime getAnimeCmd = null;
            lock (lockAniDBConnections)
            {
                getAnimeCmd = new AniDBHTTPCommand_GetFullAnime();
                getAnimeCmd.Init(animeID, false, forceRefresh, false);
                getAnimeCmd.Process();
            }

            if (getAnimeCmd.Anime != null)
            {
                anime = SaveResultsForAnimeXML(session, animeID, downloadRelations, getAnimeCmd);
                //this endpoint is not working, so comenting...
            /*
                if (forceRefresh)
                {
                    CommandRequest_Azure_SendAnimeFull cmdAzure = new CommandRequest_Azure_SendAnimeFull(anime.AnimeID);
                    cmdAzure.Save(session);
                }*/
            }

            return anime;
        }