2022-11-17 14:32:36 -07:00

92 lines
3.0 KiB
C#

using System;
using System.Collections.Generic;
using System.Linq;
using System.Net;
using System.Net.Http;
using System.Web.Http;
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();
public string Get()
{
return "Welcome To Web API";
}
public List<string> Get(int Id)
{
return new List<string> {
"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");
}
}
}
}