public AutomatMode(HttpClient httpClient, Settings settings, AutomatSettings automatSettings, SessionRequester sessionRequester, ILogger logger) { this.httpClient = httpClient; this.settings = settings; this.automatSettings = automatSettings; this.sessionRequester = sessionRequester; this.logger = logger; }
public static void Configure(IServiceCollection serviceCollection) { var logger = new LoggerConfiguration() .WriteTo.Console() .WriteTo.File("log.txt") .CreateLogger(); serviceCollection.AddSingleton <ILogger>(logger); var configuration = new ConfigurationBuilder() .SetBasePath(Directory.GetParent(AppContext.BaseDirectory).FullName) .AddJsonFile("appsettings.json", false) .Build(); serviceCollection.AddSingleton(configuration); var settings = new Settings(); configuration.GetSection("Settings").Bind(settings); serviceCollection.AddSingleton(settings); var automatSettings = new AutomatSettings(); configuration.GetSection("Automat").Bind(automatSettings); serviceCollection.AddSingleton(automatSettings); var httpClient = new HttpClient { BaseAddress = new Uri(settings.Address) }; serviceCollection.AddSingleton(httpClient); serviceCollection.AddSingleton <SessionRequester>(); serviceCollection.AddSingleton <SetupMode>(); serviceCollection.AddSingleton <BusinessClientMode>(); serviceCollection.AddSingleton <IndividualClientMode>(); serviceCollection.AddSingleton <UserActivityReportsMode>(); serviceCollection.AddSingleton <OverallReportsMode>(); serviceCollection.AddSingleton <AutomatMode>(); serviceCollection.AddTransient <Runner>(); }