105 lines
3.5 KiB
C#
105 lines
3.5 KiB
C#
using Step.Model.ConfigModels;
|
|
using Step.Model.DTOModels;
|
|
using System.Collections.Generic;
|
|
using System.Linq;
|
|
using System.Web.Http;
|
|
using static Step.Config.ServerConfig;
|
|
using static Step.Model.Constants;
|
|
|
|
namespace Step.Controllers.WebApi
|
|
{
|
|
[RoutePrefix("api/configuration")]
|
|
public class ConfigurationController : ApiController
|
|
{
|
|
[Route("areas"), HttpGet]
|
|
public IHttpActionResult GetStartupConfiguration()
|
|
{
|
|
DTOStartupConfigurationModel startupConfiguration = new DTOStartupConfigurationModel()
|
|
{
|
|
ProductionConfig = ProductionConfig,
|
|
AlarmsConfig = AlarmsConfig,
|
|
ScadaConfig = ScadaConfig,
|
|
MaintenanceConfig = MaintenanceConfig,
|
|
ReportConfig = ReportConfig,
|
|
ToolingConfig = ToolingConfig,
|
|
UtilitiesConfig = UtilitiesConfig
|
|
};
|
|
|
|
return Ok(startupConfiguration);
|
|
}
|
|
|
|
[Route("client"), HttpGet]
|
|
public IHttpActionResult GetInfoConfiguration()
|
|
{
|
|
DTOClientConfigurationModel clientConfiguration = new DTOClientConfigurationModel()
|
|
{
|
|
NcVendor = NcConfig.NcVendor,
|
|
ShowHMI = NcConfig.showNcHMI,
|
|
DefaultLanguage = ServerStartupConfig.Language,
|
|
NcIp = NcConfig.NcIpAddress,
|
|
NcPort = NcConfig.NcPort
|
|
};
|
|
|
|
return Ok(clientConfiguration);
|
|
}
|
|
|
|
|
|
[Route("nc_softKeys"), HttpGet]
|
|
public IHttpActionResult GetNcSoftKeysConfig()
|
|
{
|
|
return Ok(NcSoftKeysConfig);
|
|
}
|
|
|
|
[Route("softKeys"), HttpGet]
|
|
public IHttpActionResult GetUserSoftKeysConfig()
|
|
{
|
|
Dictionary<int, List<DTOUserSoftKeyConfigModel>> output = new Dictionary<int, List<DTOUserSoftKeyConfigModel>>();
|
|
foreach (var softKey in SoftKeysConfig)
|
|
{
|
|
// Check if category exists
|
|
if (!output.ContainsKey(softKey.Category))
|
|
{
|
|
// Add category if not exits
|
|
output.Add(softKey.Category, new List< DTOUserSoftKeyConfigModel>());
|
|
}
|
|
|
|
// Create subkeys dictionary for group
|
|
Dictionary<int, string> tmpSubKey = new Dictionary<int, string>();
|
|
if (softKey.Type == SOFTKEY_TYPE.GROUP && softKey.SubKeys != null)
|
|
{
|
|
tmpSubKey = new Dictionary<int, string>();
|
|
foreach (var subKey in softKey.SubKeys)
|
|
{
|
|
tmpSubKey.Add(subKey.Id, subKey.Text);
|
|
}
|
|
}
|
|
// Add to the category the new softkey
|
|
output[softKey.Category].Add(new DTOUserSoftKeyConfigModel()
|
|
{
|
|
Id = softKey.Id,
|
|
Category = softKey.Category,
|
|
OperatorConfirmationNeeded = softKey.OperatorConfirmationNeeded,
|
|
Type = softKey.Type,
|
|
SubKeys = tmpSubKey
|
|
});
|
|
|
|
}
|
|
|
|
return Ok(output);
|
|
}
|
|
|
|
[Route("heads"), HttpGet]
|
|
public IHttpActionResult GetHeadConfig()
|
|
{
|
|
List<DTOHeadsConfigModel> heads = HeadsConfig.Select(x => new DTOHeadsConfigModel()
|
|
{
|
|
Id = x.Id,
|
|
Name = x.Name,
|
|
Type = x.Type.ToString()
|
|
}).ToList();
|
|
|
|
return Ok(heads);
|
|
}
|
|
|
|
}
|
|
} |