diff --git a/MBDEVproAPI.API/GlobalUsings.cs b/MBDEVproAPI.API/GlobalUsings.cs
index 1fb1a1e..ea436fa 100644
--- a/MBDEVproAPI.API/GlobalUsings.cs
+++ b/MBDEVproAPI.API/GlobalUsings.cs
@@ -23,5 +23,6 @@
//global using Microsoft.OpenApi.Models;
global using Serilog;
global using Serilog.Formatting.Json;
-global using Microsoft.OpenApi;
+global using Microsoft.OpenApi;
+global using Scalar.AspNetCore;
diff --git a/MBDEVproAPI.API/MBDEVproAPI.API.csproj b/MBDEVproAPI.API/MBDEVproAPI.API.csproj
index f2b34cb..75ed335 100644
--- a/MBDEVproAPI.API/MBDEVproAPI.API.csproj
+++ b/MBDEVproAPI.API/MBDEVproAPI.API.csproj
@@ -15,7 +15,7 @@
all
runtime; build; native; contentfiles; analyzers; buildtransitive
-
+
@@ -23,7 +23,9 @@
-
+
+
+
diff --git a/MBDEVproAPI.API/Program.cs b/MBDEVproAPI.API/Program.cs
index ea158c6..55a50a9 100644
--- a/MBDEVproAPI.API/Program.cs
+++ b/MBDEVproAPI.API/Program.cs
@@ -1,7 +1,12 @@
+var builder = WebApplication.CreateBuilder(args);
+var logger = new LoggerConfiguration()
+ .ReadFrom.Configuration(builder.Configuration)
+ .Enrich.FromLogContext()
+ .CreateLogger();
+builder.Host.UseSerilog(logger);
+
-using Scalar.AspNetCore;
-var builder = WebApplication.CreateBuilder(args);
//DATABASE CONNECTION
builder.Services.AddDbContext(options =>
@@ -45,11 +50,13 @@
var app = builder.Build();
+app.UseSerilogRequestLogging();
+
// Configure the HTTP request pipeline.
if (app.Environment.IsDevelopment())
{
- app.MapOpenApi(); // Expose the OpenAPI JSON endpoint
- app.MapScalarApiReference(); // Map the Scalar UI endpoint
+ //app.MapOpenApi(); // Expose the OpenAPI JSON endpoint
+ //app.MapScalarApiReference(); // Map the Scalar UI endpoint
Log.Information("MBDEVproAPI: (Development Environment)");
app.UseDeveloperExceptionPage();
@@ -72,16 +79,25 @@
if (app.Environment.IsDevelopment() || app.Environment.EnvironmentName == "Test")
{
- app.UseSwagger();
- app.UseSwaggerUI(c =>
- {
- //c.SwaggerEndpoint("/MBDEVproAPI/swagger/v1/swagger.json", "MBDEVproAPI v1 .NET CORE 10");
- c.SwaggerEndpoint("../swagger/v1/swagger.json", "MBDEVproAPI v1 .NET CORE 10");
- // ENDPOINTS: https://localhost:7092/swagger/index.html
- // JSON: https://localhost:7092/swagger/v1/swagger.json
- });
+ //app.UseSwagger();
+ //app.UseSwaggerUI(c =>
+ //{
+ // //c.SwaggerEndpoint("/MBDEVproAPI/swagger/v1/swagger.json", "MBDEVproAPI v1 .NET CORE 10");
+ // c.SwaggerEndpoint("../swagger/v1/swagger.json", "MBDEVproAPI v1 .NET CORE 10");
+ // // ENDPOINTS: https://localhost:7092/swagger/index.html
+ // // JSON: https://localhost:7092/swagger/v1/swagger.json
+ //});
}
+
+
+//DEMO so can test with swagger and scalar UI, can remove later
+app.MapOpenApi(); // Expose the OpenAPI JSON endpoint
+app.MapScalarApiReference(); // Map the Scalar UI endpoint
+
+Log.Information("MBDEVproAPI: (Development Environment)");
+//app.UseDeveloperExceptionPage(); // For local only, can change later for testing and production environments, can also add custom error handling middleware for production environment.
+
app.MapScalarApiReference(options =>
{
options.Title = "MBDEVproAPI v1 .NET CORE 10";
@@ -90,11 +106,25 @@
});
+//DEMO so can test with swagger and scalar UI, can remove later
+app.UseSwagger();
+app.UseSwaggerUI(c =>
+{
+ //c.SwaggerEndpoint("/MBDEVproAPI/swagger/v1/swagger.json", "MBDEVproAPI v1 .NET CORE 10");
+ c.SwaggerEndpoint("../swagger/v1/swagger.json", "MBDEVproAPI v1 .NET CORE 10");
+ // ENDPOINTS: https://localhost:7092/swagger/index.html
+ // JSON: https://localhost:7092/swagger/v1/swagger.json
+});
+
+app.UseSerilogRequestLogging(); // Add Serilog request logging middleware
+app.UseDeveloperExceptionPage(); // For local only, can change later for testing and production environments, can also add custom error handling middleware for production environment.
//Middleware
app.UseHttpsRedirection();
+app.UseStaticFiles();
+
app.UseAuthorization();
app.MapControllers();
diff --git a/MBDEVproAPI.API/appsettings.Development.json b/MBDEVproAPI.API/appsettings.Development.json
index 720c196..186a07e 100644
--- a/MBDEVproAPI.API/appsettings.Development.json
+++ b/MBDEVproAPI.API/appsettings.Development.json
@@ -1,14 +1,12 @@
{
"ConnectionStrings": {
- //"DefaultConnection": "Server=ComputerPro7.local;Database=MBDEVproDB;Trusted_Connection=True;MultipleActiveResultSets=true",
- // Use Secrets if passwords and so on...
- "DefaultConnection": "Server=COMPUTERPRO7\\MSSQLSERVER2025;Initial Catalog=MBDEVproDB;Integrated Security=True;Encrypt=False;Trust Server Certificate=True"
+ "DefaultConnection": "Server=COMPUTERPRO7\\MSSQLSERVER2025;Initial Catalog=MBDEVproDB;Integrated Security=True;Encrypt=False;Trust Server Certificate=True"
},
"APISettings": {
//"APIUrl": "https://localhost:7092/api/Customer/",
//"AuthenticateUrl": "Account/Login",
- //"ProjectID": "0",
+ //"BusinessID": "0",
//"IsUserExist": "Account/IsUserExist"
},
@@ -16,7 +14,7 @@
"DefaultProjectSettings": {
"ProjectName": "MBDEVproAPI",
"Description": "MBDEVproAPI version .NET CORE 10",
- "DefaultFinishInspectionsStatus": "COMPLETED",
+ "SomeKey": "xcxc",
"SessionTimeout": "900000",
"ApplicationURL": "https://www.google.com",
"JSReport_TimeOutValue": "200000000",
@@ -35,26 +33,37 @@
"BaseUri": "https://localhost:7092/api/Customer/",
"ValidateTokenUri": "Auth/ValidateAppAccessToken"
},
- "AllowedHosts": "*",
- "Serilog": {
- "Using": [ "Serilog.Exceptions" ],
- "MinimumLevel": {
- "Default": "Debug",
- "Override": {
- "Microsoft": "Warning",
- "System": "Warning"
- }
- },
- "Enrich": [ "FromLogContext", "WithMachineName", "WithProcessId", "WithThreadId", "WithExceptionDetails" ],
- "WriteTo": [
- {
- "Name": "ApplicationInsights",
- "Args": {
- "connectionString": "InstrumentationKey=xxxxx;IngestionEndpoint=https://MBDEVproAPI.applicationinsights.azure.com/;LiveEndpoint=https://MBDEVproAPI.livediagnostics.monitor.azure.com/;ApplicationId=xxxxx",
- "telemetryConverter": "Serilog.Sinks.ApplicationInsights.TelemetryConverters.TraceTelemetryConverter, Serilog.Sinks.ApplicationInsights"
+ "HttpsRedirection": {
+ "Enabled": true,
+ "SSLPort": 443
+ },
+ "AllowedHosts": "*",
+ "Serilog": {
+ "Using": [ "Serilog.Exceptions" ],
+ "MinimumLevel": {
+ "Default": "Debug",
+ "Override": {
+ "Microsoft": "Warning",
+ "System": "Warning"
}
- }
-
- ]
- }
-}
\ No newline at end of file
+ },
+ "Enrich": [ "FromLogContext", "WithMachineName", "WithProcessId", "WithThreadId", "WithExceptionDetails" ],
+ "WriteTo": [
+ { "Name": "Console" },
+ {
+ "Name": "File",
+ "Args": {
+ "path": "X:\\Logs\\MBDEVpro\\MBDEVproAPI\\Development\\log.txt",
+ "outputTemplate": "{Timestamp:G} {Message}{NewLine:1}{Exception:1}"
+ }
+ },
+ {
+ "Name": "File",
+ "Args": {
+ "path": "X:\\Logs\\MBDEVpro\\MBDEVproAPI\\Development\\log.json",
+ "formatter": "Serilog.Formatting.Json.JsonFormatter, Serilog"
+ }
+ }
+ ]
+ }
+ }
\ No newline at end of file
diff --git a/MBDEVproAPI.API/appsettings.json b/MBDEVproAPI.API/appsettings.json
index 10f68b8..8c3ffb4 100644
--- a/MBDEVproAPI.API/appsettings.json
+++ b/MBDEVproAPI.API/appsettings.json
@@ -5,5 +5,9 @@
"Microsoft.AspNetCore": "Warning"
}
},
+ "HttpsRedirection": {
+ "Enabled": true,
+ "SSLPort": 443
+ },
"AllowedHosts": "*"
}
diff --git a/MBDEVproAPI.BLL/MBDEVproAPI.BLL.csproj b/MBDEVproAPI.BLL/MBDEVproAPI.BLL.csproj
index 1cb3782..407cd5d 100644
--- a/MBDEVproAPI.BLL/MBDEVproAPI.BLL.csproj
+++ b/MBDEVproAPI.BLL/MBDEVproAPI.BLL.csproj
@@ -16,6 +16,8 @@
+
+