2025-05-22 13:35:27 -07:00

93 lines
2.7 KiB
C#

using System.Collections.Generic;
#if !NET8
using System.Web.Http;
#endif
#if NET8
using Microsoft.AspNetCore.Mvc;
#endif
using Fab2ApprovalSystem.Misc;
using Fab2ApprovalSystem.Models;
#if !NET8
using System;
using System.Linq;
using System.Net;
using System.Net.Http;
#endif
namespace Fab2ApprovalSystem.Controllers;
#if !NET8
public class WebAPIController : ApiController {
#endif
#if NET8
[ApiController]
[Route("[controller]")]
public class WebAPIController : Controller {
#endif
public TrainingController trainingFunctions = new();
public CorrectiveActionController carFunctions = new();
public AccountController accountFunctions = new();
public HomeController homeFunctions = new();
private readonly AppSettings? _AppSettings = GlobalVars.AppSettings;
public string Get() {
return "Welcome To Web API";
}
public List<string> Get(int Id) {
return new List<string> {
"Data1",
"Data2"
};
}
public void Post() {
}
#if !NET8
public HttpResponseMessage Post(HttpRequestMessage request, string action) {
switch (action) {
case "TrainingReport":
if (trainingFunctions.RunTrainingReport()) {
return request.CreateResponse(HttpStatusCode.OK);
} else {
return request.CreateResponse(HttpStatusCode.InternalServerError);
}
case "CARDueDates":
if (carFunctions.ProcessCARDueDates()) {
return request.CreateResponse(HttpStatusCode.OK);
} else {
return request.CreateResponse(HttpStatusCode.InternalServerError);
}
case "ProcessOoO":
if (homeFunctions.ProcessOoO()) {
return request.CreateResponse(HttpStatusCode.OK);
} else {
return request.CreateResponse(HttpStatusCode.InternalServerError);
}
case "ExpireOoO":
if (homeFunctions.ExpireOoO()) {
return request.CreateResponse(HttpStatusCode.OK);
} else {
return request.CreateResponse(HttpStatusCode.InternalServerError);
}
case "ApprovalReminders":
if (homeFunctions.ApprovalsReminderNotifications()) {
return request.CreateResponse(HttpStatusCode.OK);
} else {
return request.CreateResponse(HttpStatusCode.InternalServerError);
}
default:
return request.CreateResponse(HttpStatusCode.InternalServerError, "Action Not Found");
}
}
#endif
}