Beispiel #1
0
        private UpdateAnimeHandler CreateHandler(SeiyuuMoeContext dbcontext, IMalApiService apiService)
        {
            var animeRepository  = new AnimeRepository(dbcontext);
            var seasonRepository = new SeasonRepository(dbcontext);

            return(new UpdateAnimeHandler(animeRepository, seasonRepository, apiService));
        }
        private SearchAnimeQueryHandler CreateHandler(SeiyuuMoeContext seiyuuMoeContext)
        {
            var animeRepository            = new AnimeRepository(seiyuuMoeContext);
            var animeSearchCriteriaService = new AnimeSearchCriteriaService();

            return(new SearchAnimeQueryHandler(animeRepository, animeSearchCriteriaService));
        }
Beispiel #3
0
        private static InsertSeiyuuHandler CreateHandler(SeiyuuMoeContext dbContext)
        {
            var scheduleConfiguration = ConfigurationReader.MalBgJobsScheduleConfiguration;

            var animeRepository     = new AnimeRepository(dbContext);
            var seiyuuRepository    = new SeiyuuRepository(dbContext);
            var characterRepository = new CharacterRepository(dbContext);
            var animeRoleRepository = new AnimeRoleRepository(dbContext);
            var seasonRepository    = new SeasonRepository(dbContext);

            var jikanUrl           = ConfigurationReader.JikanUrl;;
            var jikanConfiguration = new JikanClientConfiguration {
                Endpoint = jikanUrl, SuppressException = true
            };
            var jikanClient  = new Jikan(jikanConfiguration);
            var jikanService = new JikanService(jikanClient);

            var s3Client = new S3Service();

            return(new InsertSeiyuuHandler(
                       scheduleConfiguration.InsertSeiyuuBatchSize,
                       scheduleConfiguration.DelayBetweenCallsInSeconds,
                       seiyuuRepository,
                       seasonRepository,
                       characterRepository,
                       animeRepository,
                       animeRoleRepository,
                       jikanService,
                       s3Client
                       ));
        }
        private static UpdateCharacterHandler CreateHandler(SeiyuuMoeContext dbContext)
        {
            var characterRepository = new CharacterRepository(dbContext);

            var jikanUrl     = ConfigurationReader.JikanUrl;
            var jikanClient  = new Jikan(jikanUrl);
            var jikanService = new JikanService(jikanClient);

            return(new UpdateCharacterHandler(characterRepository, jikanService));
        }
        public static SeiyuuMoeContext GetDbContext(string dbName = "")
        {
            var options = new DbContextOptionsBuilder <SeiyuuMoeContext>()
                          .UseInMemoryDatabase(string.IsNullOrEmpty(dbName) ? Guid.NewGuid().ToString() : dbName)
                          .EnableSensitiveDataLogging()
                          .Options;
            var context = new SeiyuuMoeContext(options);

            return(context);
        }
        private UpdateSeasonsHandler CreateHandler(SeiyuuMoeContext dbContext)
        {
            var seasonRepository = new SeasonRepository(dbContext);

            var jikanUrl     = ConfigurationReader.JikanUrl;
            var jikanClient  = new Jikan(jikanUrl);
            var jikanService = new JikanService(jikanClient);

            return(new UpdateSeasonsHandler(seasonRepository, jikanService));
        }
Beispiel #7
0
        protected async override Task HandleAsync()
        {
            Console.WriteLine($"InsertSeiyuuLambda was invoked.");

            var dbConfig = ConfigurationReader.DatabaseConfiguration;

            using var dbContext = new SeiyuuMoeContext(dbConfig);

            var handler = CreateHandler(dbContext);
            await handler.HandleAsync();
        }
        protected override async Task HandleAsync()
        {
            Console.WriteLine("ScheduleAnimesLambda was invoked");

            var dbConfig = ConfigurationReader.DatabaseConfiguration;

            using var dbContext = new SeiyuuMoeContext(dbConfig);

            var handler = CreateHandler(dbContext);
            await handler.HandleAsync();
        }
Beispiel #9
0
        protected async override Task HandleAsync(UpdateSeiyuuMessage message)
        {
            Console.WriteLine($"UpdateSeiyuuLambda was invoked for seiyuu {message.Id}");

            var dbConfig = ConfigurationReader.DatabaseConfiguration;

            using var dbContext = new SeiyuuMoeContext(dbConfig);

            var handler = CreateHandler(dbContext);
            await handler.HandleAsync(message);
        }
Beispiel #10
0
        private static UpdateCharacterHandler CreateHandler(SeiyuuMoeContext dbContext)
        {
            var characterRepository = new CharacterRepository(dbContext);

            var jikanUrl           = ConfigurationReader.JikanUrl;;
            var jikanConfiguration = new JikanClientConfiguration {
                Endpoint = jikanUrl, SuppressException = true
            };
            var jikanClient  = new Jikan(jikanConfiguration);
            var jikanService = new JikanService(jikanClient);

            return(new UpdateCharacterHandler(characterRepository, jikanService));
        }
        private static ScheduleAnimesHandler CreateHandler(SeiyuuMoeContext dbContext)
        {
            var animeRepository       = new AnimeRepository(dbContext);
            var queueUrl              = Environment.GetEnvironmentVariable("AnimeToUpdateQueueUrl");
            var animeUpdatePublisher  = new SqsAnimeUpdatePublisher(new AmazonSQSClient(), queueUrl);
            var scheduleConfiguration = ConfigurationReader.MalBgJobsScheduleConfiguration;

            return(new ScheduleAnimesHandler(
                       scheduleConfiguration.UpdateBatchSize,
                       scheduleConfiguration.DelayBetweenMessagesInSeconds,
                       animeRepository,
                       animeUpdatePublisher
                       ));
        }
Beispiel #12
0
        private static UpdateSeiyuuHandler CreateHandler(SeiyuuMoeContext dbContext)
        {
            var animeRepository      = new AnimeRepository(dbContext);
            var seiyuuRepository     = new SeiyuuRepository(dbContext);
            var characterRepository  = new CharacterRepository(dbContext);
            var seiyuuRoleRepository = new SeiyuuRoleRepository(dbContext);
            var animeRoleRepository  = new AnimeRoleRepository(dbContext);
            var seasonRepository     = new SeasonRepository(dbContext);

            var jikanUrl     = ConfigurationReader.JikanUrl;
            var jikanClient  = new Jikan(jikanUrl, true);
            var jikanService = new JikanService(jikanClient);

            return(new UpdateSeiyuuHandler(seiyuuRepository, animeRepository, characterRepository, seiyuuRoleRepository, animeRoleRepository, seasonRepository, jikanService));
        }
        private InsertSeiyuuHandler CreateHandler(SeiyuuMoeContext dbContext, JikanService jikanService, IS3Service s3Service, int insertSeiyuuBatchSize)
        {
            var animeRepository     = new AnimeRepository(dbContext);
            var seiyuuRepository    = new SeiyuuRepository(dbContext);
            var characterRepository = new CharacterRepository(dbContext);
            var animeRoleRepository = new AnimeRoleRepository(dbContext);
            var seasonRepository    = new SeasonRepository(dbContext);

            return(new InsertSeiyuuHandler(
                       insertSeiyuuBatchSize,
                       0,
                       seiyuuRepository,
                       seasonRepository,
                       characterRepository,
                       animeRepository,
                       animeRoleRepository,
                       jikanService,
                       s3Service
                       ));
        }
Beispiel #14
0
 public SeiyuuRepository(SeiyuuMoeContext dbContext)
 {
     _dbContext = dbContext;
 }
 public CharacterRepository(SeiyuuMoeContext dbContext)
 {
     _dbContext = dbContext;
 }
 public SeasonRoleRepository(SeiyuuMoeContext dbContext)
 {
     _dbContext = dbContext;
 }
        private CompareAnimeQueryHandler CreateHandler(SeiyuuMoeContext seiyuuMoeContext)
        {
            var animeRepository = new AnimeRoleRepository(seiyuuMoeContext);

            return(new CompareAnimeQueryHandler(animeRepository));
        }
Beispiel #18
0
 public BlacklistedIdRepository(SeiyuuMoeContext dbContext)
 {
     _dbContext = dbContext;
 }
        private UpdateCharacterHandler CreateHandler(SeiyuuMoeContext dbcontext, IMalApiService apiService)
        {
            var characterRepository = new CharacterRepository(dbcontext);

            return(new UpdateCharacterHandler(characterRepository, apiService));
        }
Beispiel #20
0
        private GetAnimeCardInfoQueryHandler CreateHandler(SeiyuuMoeContext seiyuuMoeContext)
        {
            var animeRepository = new AnimeRepository(seiyuuMoeContext);

            return(new GetAnimeCardInfoQueryHandler(animeRepository));
        }
Beispiel #21
0
 public AnimeRoleRepository(SeiyuuMoeContext dbContext)
 {
     _dbContext = dbContext;
 }