示例#1
0
 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;
 }
示例#2
0
        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>();
        }