110 lines
4.0 KiB
C#
110 lines
4.0 KiB
C#
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 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.AddAzureAdGroupPolicyServicesWithToken(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<IConfiguration>(Configuration);
|
|
services.AddLCUHttpServices();
|
|
services.AddHttpContextAccessor();
|
|
|
|
//Added Components
|
|
services.AddBlazoredToast();
|
|
services.AddBlazoredModal();
|
|
|
|
//Services
|
|
services.AddScoped<ServiceHelpers>();
|
|
services.AddScoped<IEHelpers>();
|
|
services.AddScoped<GridHelpers>();
|
|
services.AddScoped<NotificationService>();
|
|
services.AddScoped<ReserveService>();
|
|
|
|
}
|
|
|
|
// 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.UseRouting();
|
|
app.UseAuthentication();
|
|
app.UseAuthorization();
|
|
|
|
app.UseEndpoints(endpoints =>
|
|
{
|
|
endpoints.MapControllers();
|
|
endpoints.MapRazorPages();
|
|
endpoints.MapBlazorHub();
|
|
endpoints.MapFallbackToPage("/_Host");
|
|
});
|
|
}
|
|
}
|
|
}
|