private static AppSettings ConfigureDependencies(IServiceCollection services, IConfigurationRoot config, bool isDevelopment) { // get settings from appsettings.json and secrets.json AppSettings settings = new AppSettings(); config.GetSection("AppSettings").Bind(settings); services.AddSingleton(settings); IServiceConfiguration exampleServiceConfiguration = new ExampleServiceConfiguration( settings.PersonServiceReadOnlyUrl, settings.ServiceUser, settings.ServicePassword, "byui.edu", 10 ); services.AddScoped <IUserAuthToken, UserAuthToken>(); services.AddSingleton(exampleServiceConfiguration); services.AddSingleton(Mapper.Configuration); services.AddScoped <IMapper>(s => new Mapper(s.GetRequiredService <IConfigurationProvider>(), s.GetService)); if (!string.IsNullOrEmpty(settings.ConnectionString)) { services.AddDbContext <ApiSnippetContext>(options => options.UseSqlServer(settings.ConnectionString)); } else { services.AddDbContext <ApiSnippetContext>(options => options.UseInMemoryDatabase("ApiSnippet")); } services.AddScoped <IExampleRepository, ExampleRepository>(); services.AddScoped <IClock, Clock>(); services.AddScoped <ExampleBusiness>(); return(settings); }
public ExampleRepository(ExampleServiceConfiguration serviceConfiguration) : base(serviceConfiguration) { }