public static ServiceProvider GetRequiredServiceProvider(IConfiguration config, string eventHub) { if (eventHub == "devicedata") { var serviceCollection = new ServiceCollection(); Normalize.ProcessorStartup startup = new Normalize.ProcessorStartup(config); startup.ConfigureServices(serviceCollection); var loggingService = new IomtLogger(config); loggingService.ConfigureServices(serviceCollection); var serviceProvider = serviceCollection.BuildServiceProvider(); return(serviceProvider); } else if (eventHub == "normalizeddata") { var serviceCollection = new ServiceCollection(); MeasurementCollectionToFhir.ProcessorStartup startup = new MeasurementCollectionToFhir.ProcessorStartup(config); startup.ConfigureServices(serviceCollection); var loggingService = new IomtLogger(config); loggingService.ConfigureServices(serviceCollection); var serviceProvider = serviceCollection.BuildServiceProvider(); return(serviceProvider); } else { throw new Exception("No valid event hub type was found"); } }
public static ServiceCollection GetRequiredServiceCollection(IConfiguration config, string applicationType) { var serviceCollection = new ServiceCollection(); serviceCollection.AddSingleton <ITelemetryLogger>(ConfigureLogging(config)); if (applicationType == ApplicationType.Normalization) { Startup startup = new Startup(config); startup.ConfigureServices(serviceCollection); return(serviceCollection); } else if (applicationType == ApplicationType.MeasurementToFhir) { MeasurementCollectionToFhir.ProcessorStartup measurementStartup = new MeasurementCollectionToFhir.ProcessorStartup(config); measurementStartup.ConfigureServices(serviceCollection); Startup startup = new Startup(config); startup.ConfigureServices(serviceCollection); return(serviceCollection); } else { throw new Exception($"An invalid application type was provided: {applicationType}"); } }