Files
cms_thermo_active/Thermo.Active/Controllers/WebApi/NcApiController.cs
T
2020-06-25 16:46:01 +02:00

71 lines
2.5 KiB
C#

using CMS_CORE_Library.Models;
using System.Globalization;
using System.Web.Http;
using Thermo.Active.Model.DTOModels;
using Thermo.Active.NC;
using static Thermo.Active.Model.Constants;
namespace Thermo.Active.Controllers.WebApi
{
[RoutePrefix("api/nc")]
public class NcApiController : ApiController
{
/// <summary>
/// Oggetto adapter condiviso da WebAPI
/// </summary>
protected static NcAdapter ncAdapter = new NcAdapter();
[Route("generic_data"), HttpGet]
[WebApiAuthorize(FunctionAccess = FUNCTIONALITY_NAMES.NC_DATA, Action = ACTIONS.READ)]
public IHttpActionResult GetNcGenericData()
{
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)
{
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)
{
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()
{
ncAdapter.Connect();
CmsError libraryError = ncAdapter.GetActiveClient(out int selectedClientId);
if (libraryError.IsError())
return BadRequest();
return Ok(new { selectedClientId });
}
}
}