using System; using System.Collections.Generic; using System.Linq; using System.Net; using System.Net.Http; using System.Web.Http; using Fab2ApprovalSystem.Misc; using Fab2ApprovalSystem.Models; namespace Fab2ApprovalSystem.Controllers; public class WebAPIController : ApiController { public TrainingController trainingFunctions = new TrainingController(); public CorrectiveActionController carFunctions = new CorrectiveActionController(); public AccountController accountFunctions = new AccountController(); public HomeController homeFunctions = new HomeController(); 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() { } 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"); } } }