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 Get(int Id) { return new List { "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 }