public OlxAdsService() { var configuration = new OlxConfiguration(); _reader = new OlxAdsReader(configuration); _notificationService = new NotificationService(); }
private static ServiceProvider RegisterDependencyInjection() { var serviceCollection = new ServiceCollection(); var configuration = new ConfigurationBuilder() .AddJsonFile("appsettings.json", true, true) .Build(); var olxConfig = new OlxConfiguration(); configuration.Bind(olxConfig); serviceCollection.AddSingleton(olxConfig); var telegramConfig = new TelegramApiConfiguration(); configuration.Bind(telegramConfig); serviceCollection.AddSingleton(telegramConfig); serviceCollection.AddHttpClient <TelegramClient>(); serviceCollection.AddTransient <IProcessor, Processor>(); serviceCollection.AddTransient <IScraper, Scraper.Adapters.Scraper>(); serviceCollection.Decorate <IScraper, ScraperWithRetry>(); return(serviceCollection.BuildServiceProvider()); }
public Scraper(OlxConfiguration config) { Config = config ?? throw new System.ArgumentNullException(nameof(config)); titleRegex = new Regex(Config.TitleRegex); priceRegex = new Regex(Config.PriceRegex); dateRegex = new Regex(Config.DateRegex); urlRegex = new Regex(Config.UrlRegex); }
public OlxAdExtractor(OlxConfiguration configuration) { _olxDateParser = new OlxDateParser(configuration); }
public OlxAdsReader(OlxConfiguration configuration) { _adUrl = configuration.Url; _httpClient = new HttpClient(); _olxAdExtractor = new OlxAdExtractor(configuration); }
public OlxDateParser(OlxConfiguration configuration) { _todayPrefix = configuration.TodayPrefix; _yesterdayPrefix = configuration.YesterdayPrefix; _dateTimeCulture = CultureInfo.CreateSpecificCulture(configuration.CultureCode); }