Example #1
0
        // This method gets called by the runtime. Use this method to configure the HTTP request pipeline.
        public void Configure(IApplicationBuilder app, IHostingEnvironment env, ILoggerFactory loggerFactory)
        {
            if (env.IsDevelopment())
            {
                app.UseDeveloperExceptionPage();
            }
            else
            {
                app.UseExceptionHandler(appBuilder => {
                    appBuilder.Run(async context =>
                    {
                        context.Response.StatusCode = 500;
                        await context.Response.WriteAsync("API messed up!");
                    });
                });
            }
            loggerFactory.AddConsole(Configuration.GetSection("Logging"));
            loggerFactory.AddDebug();


            //AutoMapper.Mapper.Initialize(cfg =>
            //{
            //    cfg.CreateMap<ProductVM, Product>();
            //    cfg.CreateMap<Product, ProductVM>()
            //        .ForMember(pVM => pVM.Url, p => p.ResolveUsing<ProductUrlResolver>());
            //});

            app.UseMvc();


            InventoryContextSeed.Initialize(app.ApplicationServices);
        }
Example #2
0
        public static async Task Main(string[] args)
        {
            var host = CreateHostBuilder(args).Build();

            using (var scope = host.Services.CreateScope())
            {
                var services      = scope.ServiceProvider;
                var loggerFactory = services.GetRequiredService <ILoggerFactory>();

                try
                {
                    var context            = services.GetRequiredService <InventoryDBContext>();
                    var hostEnv            = services.GetService <IWebHostEnvironment>();
                    var webContentRootPath = hostEnv.ContentRootPath;
                    await context.Database.MigrateAsync();

                    await InventoryContextSeed.SeedAsync(context, loggerFactory);
                }
                catch (Exception ex)
                {
                    var logger = loggerFactory.CreateLogger <Program>();
                    logger.LogError(ex, "An error ocurred during migration");
                    logger.LogError(ex.InnerException.Message);
                }
            }

            host.Run();
        }
Example #3
0
        // This method gets called by the runtime. Use this method to configure the HTTP request pipeline.
        public void Configure(IApplicationBuilder app, IHostingEnvironment env, ILoggerFactory loggerFactory)
        {
            loggerFactory.AddConsole(Configuration.GetSection("Logging"));
            loggerFactory.AddDebug();

            app.UseCors("CorsPolicy");

            app.UseMvcWithDefaultRoute();

            app.UseSwagger()
            .UseSwaggerUi();

            var context = (InventoryContext)app.ApplicationServices.GetService(typeof(InventoryContext));

            WaitForSqlAvailability(context, loggerFactory);

            InventoryContextSeed.SeedAsync(app, loggerFactory)
            .Wait();

            var integrationEventLogContext = new IntegrationEventLogContext(
                new DbContextOptionsBuilder <IntegrationEventLogContext>()
                .UseSqlServer(Configuration["ConnectionString"], b => b.MigrationsAssembly("InventoryAPI"))
                .Options);

            try
            {
                integrationEventLogContext.Database.Migrate();
            }
            catch (Exception ex)
            {
                throw ex;
            }
        }
Example #4
0
        public static void Main(string[] args)
        {
            CreateHostBuilder(args)

            .Build()
            .MigrateDatabase <InventoryContext>((context, services) =>
            {
                var logger = services.GetService <ILogger <InventoryContextSeed> >();
                InventoryContextSeed
                .SeedAsync(context, logger)
                .Wait();
            })
            .Run();
        }