using Birdmap.BLL.Interfaces; using Birdmap.BLL.Services; using Microsoft.Extensions.Configuration; using Microsoft.Extensions.DependencyInjection; using System.Net.Http; namespace Birdmap.BLL { public static class Startup { public static IServiceCollection ConfigureBLL(this IServiceCollection services, IConfiguration configuration) { services.AddTransient(); services.AddTransient(); services.AddTransient(); if (configuration.GetValue("UseDummyServices")) { services.AddTransient(); services.AddTransient(); } else { var baseUrl = configuration.GetValue("ServicesBaseUrl"); services.AddTransient(serviceProvider => { var httpClient = serviceProvider.GetService(); var service = new LiveInputService(baseUrl, httpClient); return service; }); services.AddTransient(serviceProvider => { var httpClient = serviceProvider.GetService(); var service = new LiveDummyService(baseUrl, httpClient); return service; }); } return services; } } }