using Microsoft.AspNetCore.Builder; using Microsoft.AspNetCore.Hosting; using Microsoft.Extensions.Configuration; using Microsoft.Extensions.DependencyInjection; using Microsoft.Extensions.Hosting; using Microsoft.Identity.Web; using Microsoft.Identity.Web.UI; using Microsoft.AspNetCore.HttpOverrides; using Blazored.Toast; using LCU.Library.Internal.Configuration; using LCU.Library.Internal.LcuHttpClient; using ReserveManagementSystemUI.Service; using ReserveManagementSystemUI.Services; using ReserveManagementSystemUI.Helpers; using Blazored.Modal; using ReserveManagementSystemUI.Model.Configuration; using LCU.Library.Internal.Logging; using LCU.Library.Internal.Logging.Models; using LCU.Library.Internal.Security; namespace ReserveManagementSystemUI { public class Startup { public Startup(IConfiguration configuration) { Configuration = configuration; } public IConfiguration Configuration { get; } // 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.AddAzureAdGroupPolicyServices(Configuration.GetSection("AzureAd"), Configuration.GetSection("Security")); var appConfiguration = new AppConfiguration(); Configuration.GetSection("Primary").Bind(appConfiguration); var loggerConfiguration = new LoggingConfiguration(appConfiguration.AppName, appConfiguration.SeqApiKey, appConfiguration.SeqUrl); var lcuLogging = new LcuLogging(loggerConfiguration); lcuLogging.UseLcuLogging(); services.AddRazorPages(); services.AddControllersWithViews().AddMicrosoftIdentityUI(); services.AddServerSideBlazor().AddMicrosoftIdentityConsentHandler(); LcuConfigureServicesAddons(services); } //Added From Blazor Base public void LcuConfigureServicesAddons(IServiceCollection services) { //Configuration var rmsUIConfiguration = new RmsUIConfiguration(); Configuration.GetSection("RmsUIConfiguration").Bind(rmsUIConfiguration); services.AddSingleton(rmsUIConfiguration); services.AddSingleton(Configuration); services.AddLCUHttpServices(); services.AddHttpContextAccessor(); //Added Components services.AddBlazoredToast(); services.AddBlazoredModal(); //Services services.AddScoped(); services.AddScoped(); services.AddScoped(); services.AddScoped(); services.AddScoped(); } // This method gets called by the runtime. Use this method to configure the HTTP request pipeline. public void Configure(IApplicationBuilder app, IWebHostEnvironment env) { if (env.IsDevelopment()) { app.UseDeveloperExceptionPage(); } else { app.UseExceptionHandler("/Error"); // The default HSTS value is 30 days. You may want to change this for production scenarios, see https://aka.ms/aspnetcore-hsts. app.UseHsts(); } app.UseHttpsRedirection(); app.UseStaticFiles(); app.UseForwardedHeaders(new ForwardedHeadersOptions { ForwardedHeaders = ForwardedHeaders.XForwardedProto }); app.UseRouting(); app.UseAuthentication(); app.UseAuthorization(); app.UseEndpoints(endpoints => { endpoints.MapControllers(); endpoints.MapBlazorHub(); endpoints.MapFallbackToPage("/_Host"); }); } } }