private void InjectMotorVehicle(IServiceCollection services) { services.AddScoped <IHandleSimulationRequests <MotorVehicleSimulationCaseRequest>, SimulationRequestHandler < MotorVehicleSimulationCase, MotorVehicleSimulationCaseRequest, MotorVehiclePerson > >(); services.AddScoped < IBuildSimulations < MotorVehicleSimulationCase, MotorVehicleSimulationCaseRequest >, MotorVehicleSimulationBuilder>(); services.AddScoped <IStorePersons <MotorVehiclePerson>, MotorVehiclePersonStore>(); services.AddScoped <IRunSimulations <MotorVehicleSimulationCase, MotorVehiclePerson>, SimulationRunner <MotorVehicleSimulationCase, MotorVehiclePerson> >(); services.AddScoped <IRunCases <MotorVehicleSimulationCase, MotorVehiclePerson>, MotorVehicleCaseRunner>(); services.AddScoped <IExecuteRules <MotorVehicleSimulationCase, MotorVehiclePerson>, MotorVehicleRuleExecutor>(); services.AddScoped <IGetSimulations <MotorVehicleSimulationCase>, MotorVehicleSimulationGetter>(); services.AddScoped <ISimulationLib <MotorVehicleSimulationCase>, SimulationLib <MotorVehicleSimulationCase> >(); services.AddScoped <IStoreSimulations <MotorVehicleSimulationCase>, MotorVehicleSimulationStore>(); // OpenFisca services.AddScoped <IOpenFisca, OpenFiscaLib>(); services.AddScoped <IRestClient, MyRestClient>(); // OpenFisca options var openFiscaUrl = Configuration["OpenFiscaOptions:Url"] ?? Environment.GetEnvironmentVariable("openFiscaUrl"); var openFiscaOptions = new OpenFiscaOptions() { Url = openFiscaUrl }; services.AddSingleton <IOptions <OpenFiscaOptions> >(x => Options.Create(openFiscaOptions)); services.AddScoped <IBuildDailyRequests, DailyRequestBuilder>(); services.AddScoped <IBuildAggregateRequests, AggregateRequestBuilder>(); services.AddScoped <IExtractDailyResults, DailyResultExtractor>(); services.AddScoped <IExtractAggregateResults, AggregateResultExtractor>(); }
private void InjectOpenFisca(IServiceCollection services) { // OpenFisca services.AddScoped <IOpenFisca, OpenFiscaLib>(); services.AddScoped <IRestClient, RestSharp.RestClient>(); // OpenFisca options var openFiscaUrl = Configuration.GetValue <string>("OpenFiscaOptions:Url") ?? Environment.GetEnvironmentVariable("OPEN_FISCA_URL"); var openFiscaOptions = new OpenFiscaOptions() { Url = openFiscaUrl }; services.AddSingleton <IOptions <OpenFiscaOptions> >(x => Options.Create(openFiscaOptions)); }
private MotorVehicleRuleExecutor GetSystem() { var restClient = new RestClient(); var openFiscaOptions = new OpenFiscaOptions() { Url = "https://openfiscacanada-dts-csps-main.dev.dts-stn.com" }; var options = Options.Create(openFiscaOptions); var openFiscaLib = new OpenFiscaLib(restClient, options); var dailyRequestBuilder = new DailyRequestBuilder(); var dailyResultExtractor = new DailyResultExtractor(); var aggregateRequestBuilder = new AggregateRequestBuilder(); var aggregateResultExtractor = new AggregateResultExtractor(); var executor = new MotorVehicleRuleExecutor(openFiscaLib, dailyRequestBuilder, aggregateRequestBuilder, dailyResultExtractor, aggregateResultExtractor); return(executor); }