Files
2020-09-12 16:11:43 +02:00

78 lines
2.8 KiB
C#

using CMS_CORE_Library.Models;
using Step.Model.DTOModels;
using Step.NC;
using System.Globalization;
using System.Web.Http;
using static Step.Model.Constants;
namespace Step.Controllers.WebApi
{
[RoutePrefix("api/nc")]
public class NcApiController : ApiController
{
[Route("generic_data"), HttpGet]
[WebApiAuthorize(FunctionAccess = FUNCTIONALITY_NAMES.NC_DATA, Action = ACTIONS.READ)]
public IHttpActionResult GetNcGenericData()
{
using (NcAdapter ncAdapter = new NcAdapter())
{
ncAdapter.Connect();
CmsError libraryError = ncAdapter.GetNcGenericData(out DTONcGenericDataModel genericData);
if (libraryError.IsError())
if (libraryError.errorCode == CMS_ERROR_CODES.NOT_CONNECTED)
return Ok(genericData);
else
return BadRequest(libraryError.localizationKey);
return Ok(genericData);
}
}
[Route("active_language/{language}"), HttpPut]
[WebApiAuthorize(FunctionAccess = FUNCTIONALITY_NAMES.USER_FUNCTIONS, Action = ACTIONS.WRITE)]
public IHttpActionResult SetActiveLanguage(string language)
{
using (NcAdapter ncAdapter = new NcAdapter())
{
ncAdapter.Connect();
CmsError libraryError = ncAdapter.SetActiveLanguage(CultureInfo.CreateSpecificCulture(language));
if (libraryError.errorCode != CMS_ERROR_CODES.NOT_CONNECTED && libraryError.errorCode != CMS_ERROR_CODES.OK)
return BadRequest();
else
return Ok();
}
}
[Route("active_screen/{screen:int}"), HttpPut]
//[WebApiAuthorize(FunctionAccess = FUNCTIONALITY_NAMES.USER_FUNCTIONS, Action = ACTIONS.WRITE)]
public IHttpActionResult SetActiveScreen(int screen)
{
using (NcAdapter ncAdapter = new NcAdapter())
{
ncAdapter.Connect();
CmsError libraryError = ncAdapter.SetActiveScreen((short)screen);
if (libraryError.errorCode == CMS_ERROR_CODES.NOT_CONNECTED)
return BadRequest();
else
return Ok();
}
}
[Route("active_client"), HttpGet]
public IHttpActionResult GetActiveClient()
{
using (NcAdapter ncAdapter = new NcAdapter())
{
ncAdapter.Connect();
CmsError libraryError = ncAdapter.GetActiveClient(out int selectedClientId);
if (libraryError.IsError())
return BadRequest();
return Ok(new { selectedClientId });
}
}
}
}