/
Airat
/
ASP.NET
Обзор
Документация
Войти
/
Airat
/
ASP.NET
Код
Запросы
0
Пакеты
0
Релизы
0
Аналитика
Безопасность
main
UnitTests/src/PromoCodeFactory.WebHost/Startup.cs
84 строки
3 KB
Алексей Ягур
Initial commit
19 июл 2024, 21:59
19 июл 2024, 21:59
5158096
Код
Авторство
О чём код?
using System; using System.Collections.Generic; using System.Linq; using System.Threading.Tasks; using Castle.Core.Configuration; using Microsoft.AspNetCore.Builder; using Microsoft.AspNetCore.Hosting; using Microsoft.AspNetCore.Http; using Microsoft.EntityFrameworkCore; using Microsoft.Extensions.DependencyInjection; using Microsoft.Extensions.Hosting; using Microsoft.Extensions.Configuration; using PromoCodeFactory.Core.Abstractions.Repositories; using PromoCodeFactory.Core.Domain.Administration; using PromoCodeFactory.DataAccess; using PromoCodeFactory.DataAccess.Data; using PromoCodeFactory.DataAccess.Repositories; using IConfiguration = Microsoft.Extensions.Configuration.IConfiguration; namespace PromoCodeFactory.WebHost { public class Startup { public IConfiguration Configuration { get; } public Startup(IConfiguration configuration) { Configuration = configuration; } // This method gets called by the runtime. Use this method to add services to the container. // For more information on how to configure your application, visit https://go.microsoft.com/fwlink/?LinkID=398940 public void ConfigureServices(IServiceCollection services) { services.AddControllers().AddMvcOptions(x=> x.SuppressAsyncSuffixInActionNames = false); services.AddScoped(typeof(IRepository<>), typeof(EfRepository<>)); services.AddScoped<IDbInitializer, EfDbInitializer>(); services.AddDbContext<DataContext>(x => { x.UseSqlite("Filename=PromoCodeFactoryDb.sqlite"); //x.UseNpgsql(Configuration.GetConnectionString("PromoCodeFactoryDb")); x.UseSnakeCaseNamingConvention(); x.UseLazyLoadingProxies(); }); services.AddOpenApiDocument(options => { options.Title = "PromoCode Factory API Doc"; options.Version = "1.0"; }); } // This method gets called by the runtime. Use this method to configure the HTTP request pipeline. public void Configure(IApplicationBuilder app, IWebHostEnvironment env, IDbInitializer dbInitializer) { if (env.IsDevelopment()) { app.UseDeveloperExceptionPage(); } else { app.UseHsts(); } app.UseOpenApi(); app.UseSwaggerUi(x => { x.DocExpansion = "list"; }); app.UseHttpsRedirection(); app.UseRouting(); app.UseEndpoints(endpoints => { endpoints.MapControllers(); }); dbInitializer.InitializeDb(); } } }