Exemple #1
0
        private static void Startup()
        {
            var serviceCollection = new ServiceCollection();

            var infrastructure = ConfigurationManager.AppSettings["Infractructure"];

            if (infrastructure == "InMemory")
            {
                serviceCollection.AddSingleton <IScriptRepository, InMemoryScriptRepository>();
                serviceCollection.AddSingleton <IQuizRepository, InMemoryQuizRepository>();
            }
            else if (infrastructure == "EntityFramework")
            {
                var builder          = new DbContextOptionsBuilder <ScriptQuizDbContext>();
                var connectionString = ConfigurationManager.AppSettings["ConnectionString"];
                builder.UseSqlServer(connectionString);
                var options = builder.Options;
                var context = new ScriptQuizDbContext(options);

                serviceCollection.AddSingleton <IScriptRepository>(sp => new EntityFrameworkScriptRepository(context));
                serviceCollection.AddSingleton <IQuizRepository>(sp => new EntityFrameworkQuizRepository(context));
            }
            else
            {
                throw new NotSupportedException(infrastructure + " is not registerd.");
            }

            serviceCollection.AddTransient <IScriptApplicationService, ScriptApplicationService>();

            serviceCollection.AddTransient <IQuizApplicationService, QuizApplicationService>();

            serviceProvider = serviceCollection.BuildServiceProvider();
        }
Exemple #2
0
        public void Run(IContainerRegistry containerRegistry)
        {
            var builder          = new DbContextOptionsBuilder <ScriptQuizDbContext>();
            var connectionString = ConfigurationManager.AppSettings["ConnectionString"];

            builder.UseSqlServer(connectionString);
            var options = builder.Options;
            var context = new ScriptQuizDbContext(options);

            containerRegistry.RegisterInstance <IScriptRepository>(new EntityFrameworkScriptRepository(context));
            containerRegistry.RegisterInstance <IQuizRepository>(new EntityFrameworkQuizRepository(context));
        }
Exemple #3
0
        public void Run(IServiceCollection services)
        {
            var builder          = new DbContextOptionsBuilder <ScriptQuizDbContext>();
            var connectionString = configuration.GetConnectionString("DefaultConnection");

            builder.UseSqlServer(connectionString);
            var options = builder.Options;
            var context = new ScriptQuizDbContext(options);

            services.AddSingleton <IScriptRepository>(sp => new EntityFrameworkScriptRepository(context));
            services.AddTransient <IScriptApplicationService, ScriptApplicationService>();

            services.AddSingleton <IQuizRepository>(sp => new EntityFrameworkQuizRepository(context));
            services.AddTransient <IQuizApplicationService, QuizApplicationService>();
        }
 public EntityFrameworkScriptRepository(ScriptQuizDbContext context)
 {
     this.context = context;
 }