71 lines
2.5 KiB
C#
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 });
|
|
}
|
|
}
|
|
} |