public static IServiceCollection ConfigureForWebAPI(this IServiceCollection services, IConfiguration configuration) { InstallConfiguration installConfiguration = new InstallConfiguration { DatabaseConnectionString = configuration.GetConnectionString("Database"), ServiceProfiles = new[] { ServiceAttribute.DefaultProfile, ServiceProfiles.WebAPI } }; return(services.ConfigureForAll(installConfiguration)); }
private static void InstallHavitEntityFramework(IServiceCollection services, InstallConfiguration configuration) { DbContextOptions options = configuration.UseInMemoryDb ? new DbContextOptionsBuilder <VolejbalDbContext>().UseInMemoryDatabase(nameof(VolejbalDbContext)).Options : new DbContextOptionsBuilder <VolejbalDbContext>().UseSqlServer(configuration.DatabaseConnectionString, c => c.MaxBatchSize(30)).Options; services.WithEntityPatternsInstaller() .AddEntityPatterns() //.AddLocalizationServices<Language>() .AddDbContext <VolejbalDbContext>(options) .AddDataLayer(typeof(KandaEu.Volejbal.DataLayer.Properties.AssemblyInfo).Assembly); }
public static IServiceCollection ConfigureForTests(this IServiceCollection services, bool useInMemoryDb = true) { string environment = Environment.GetEnvironmentVariable("ASPNETCORE_ENVIRONMENT"); if (string.IsNullOrEmpty(environment)) { environment = "Development"; } IConfigurationRoot configuration = new ConfigurationBuilder() .SetBasePath(Directory.GetCurrentDirectory()) .AddJsonFile("appsettings.json") .AddJsonFile($"appsettings.{environment}.json", true) .Build(); InstallConfiguration installConfiguration = new InstallConfiguration { DatabaseConnectionString = configuration.GetConnectionString("Database"), ServiceProfiles = new[] { ServiceAttribute.DefaultProfile } }; return(services.ConfigureForAll(installConfiguration)); }
private static void InstallByServiceAttribute(IServiceCollection services, InstallConfiguration configuration) { services.AddByServiceAttribute(typeof(KandaEu.Volejbal.DataLayer.Properties.AssemblyInfo).Assembly, configuration.ServiceProfiles); services.AddByServiceAttribute(typeof(KandaEu.Volejbal.Services.Properties.AssemblyInfo).Assembly, configuration.ServiceProfiles); services.AddByServiceAttribute(typeof(KandaEu.Volejbal.Facades.Properties.AssemblyInfo).Assembly, configuration.ServiceProfiles); }
private static IServiceCollection ConfigureForAll(this IServiceCollection services, InstallConfiguration installConfiguration) { InstallHavitEntityFramework(services, installConfiguration); InstallHavitServices(services); InstallByServiceAttribute(services, installConfiguration); return(services); }