EnVisageOnline/Main/Source/PrevuWebAPI/Controllers/ProjectController.cs

57 lines
1.6 KiB
C#

using Code.Security;
using EnVisage.Code.BLL;
using Code.Managers;
using System;
using System.Collections.Generic;
using System.Linq;
using System.Net;
using System.Net.Http;
using System.Web.Http;
using PrevuWebAPI.Models;
using PrevuAPIUtils;
using Code.Utils;
using Newtonsoft.Json;
namespace API.Controllers
{
[RESTAuthorize]
[RoutePrefix("api/Projects")]
public class ProjectController : ApiController
{
private APIProjectManager _manager = new APIProjectManager();
//DO NOT EXPOSE THIS IS FOR INT
//[Route("Token/{ClientName}/{EndDate}")]
//[HttpGet]
//public string Get(string ClientName, DateTime EndDate)
//{
// return TokenGenerator.CreateToken(ClientName, EndDate);
//}
[Route("Project")]
[HttpGet]
public List<APIProjectModel> Get()
{
return _manager.getProjects();
}
[Route("Project/{ProjectNumber}")]
[HttpGet]
public APIProjectModel Get(string ProjectNumber)
{
APIProjectModel proj= _manager.getProject(ProjectNumber);
Settings.Logger.Log(NLog.LogLevel.Debug, "get Project results for " + ProjectNumber);
Settings.Logger.Log(NLog.LogLevel.Debug, JsonConvert.SerializeObject(proj));
return proj;
}
[HttpPost]
[Route("Project")]
public ResultModel Post(APIProjectModel Project)
{
Settings.Logger.Log(NLog.LogLevel.Debug, "Post action for project: ");
Settings.Logger.Log(NLog.LogLevel.Debug, JsonConvert.SerializeObject(Project));
return _manager.Save(Project);
}
}
}