public static void Main(string[] args) { //BuildWebHost(args).Run(); var host = BuildWebHost(args); using (var scope = host.Services.CreateScope()) { var services = scope.ServiceProvider; try { var UserContext = services.GetRequiredService <UserContext>(); UserDbInitializer.Initialize(UserContext); var OrderContext = services.GetRequiredService <OrderContext>(); OrderDbInitializer.Initialize(OrderContext, UserContext); //var ReviewContext = services.GetRequiredService<ReviewContext>(); //ReviewDbInitializer.Initialize(ReviewContext); } catch (Exception ex) { var logger = services.GetRequiredService <ILogger <Program> >(); logger.LogError(ex, "An error occurred while seeding the database."); } } host.Run(); }
public OrderService(IOrderContext orderContext, OrderContext seedContext, IMapper mapper) { _orderContext = orderContext; _mapper = mapper; // Only for seeding. OrderDbInitializer.Initialize(seedContext); }
public static void Main(string[] args) { var host = CreateHostBuilder(args).Build(); using (var scope = host.Services.CreateScope()) { var services = scope.ServiceProvider; var dbRoadFreights = services.GetRequiredService <RoadFreightDbContext>(); RoadFreightDbInitializer.Initialize(dbRoadFreights); var dbSeaFreights = services.GetRequiredService <SeaFreightDbContext>(); SeaFreightDbInitializer.Initialize(dbSeaFreights); var dbAirFreights = services.GetRequiredService <AirFreightDbContext>(); AirFreightDbInitializer.Initialize(dbAirFreights); var dbOrders = services.GetRequiredService <OrderDbContext>(); OrderDbInitializer.Initialize(dbOrders); } host.Run(); }
// 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, OrderDbInitializer dbInit) { loggerFactory.AddConsole(Configuration.GetSection("Logging")); loggerFactory.AddDebug(); app.UseMvc(); app.UseDefaultFiles(); app.UseStaticFiles(); SetupAutoMapper(); // Enable middleware to serve generated Swagger as a JSON endpoint. app.UseSwagger(); // Enable middleware to serve swagger-ui (HTML, JS, CSS etc.), specifying the Swagger JSON endpoint. app.UseSwaggerUI(c => { c.SwaggerEndpoint("/swagger/v1/swagger.json", "LogisticsManagement API - v1"); }); if (env.IsDevelopment()) { app.UseDeveloperExceptionPage(); } // setup messagehandler var configSection = Configuration.GetSection("RabbitMQ"); string host = configSection["Host"]; string userName = configSection["UserName"]; string password = configSection["Password"]; RabbitMQMessageHandler messageHandler = new RabbitMQMessageHandler(host, userName, password, "Ball.com", "OrderAPI", ""); // start event-handler var eventHandler = new EventHandler.EventHandler(messageHandler, Configuration.GetConnectionString("OrderManagementCN")); eventHandler.Start(); Policy .Handle <Exception>() .WaitAndRetry(10, r => TimeSpan.FromSeconds(5)) .Execute(() => { dbInit.Seed().Wait(); }); }