Continuo integrazione metodi tracciamento RUID
This commit is contained in:
@@ -15,13 +15,14 @@ namespace Lux.API.Controllers
|
||||
{
|
||||
#region Public Constructors
|
||||
|
||||
public WindowController(IConfiguration config, IRedisService redisService, ImageCacheService imgServ, ConfigDataService confServ)
|
||||
public WindowController(IConfiguration config, IRedisService redisService, ImageCacheService imgServ, ConfigDataService confServ, CalcRuidService crService)
|
||||
{
|
||||
_config = config;
|
||||
_redisService = redisService;
|
||||
_imgService = imgServ;
|
||||
_confService = confServ;
|
||||
chPub = _config.GetValue<string>("ServerConf:ChannelPub") ?? "";
|
||||
_calcRuidService = crService;
|
||||
}
|
||||
|
||||
#endregion Public Constructors
|
||||
@@ -60,12 +61,17 @@ namespace Lux.API.Controllers
|
||||
// ...se ricevo percorso --> leggo jwd/svg cablato
|
||||
if (!string.IsNullOrEmpty(currJwd))
|
||||
{
|
||||
// init vars
|
||||
Dictionary<string, string> DictExec = new Dictionary<string, string>();
|
||||
DictExec.Add("Mode", $"{(int)Egw.Window.Data.Enums.QuestionModes.BOM}");
|
||||
var cMode = Egw.Window.Data.Enums.QuestionModes.BOM;
|
||||
|
||||
DictExec.Add("Mode", $"{(int)cMode}");
|
||||
// UID cablato x ora...
|
||||
DictExec.Add("UID", id);
|
||||
// FixMe! todo! gestire con VERE richieste ID da servizio ReqIndexServicer!!!!
|
||||
DictExec.Add("RUID", GenerateId());
|
||||
// creo registrazione richiesta...
|
||||
var ruid = await _calcRuidService.AddRequestAsync($"{cEnvir}", $"{cMode}", id);
|
||||
// aggiungo RUID effettivo
|
||||
DictExec.Add("RUID", ruid);
|
||||
|
||||
DictExec.Add("SerializedData", currJwd);
|
||||
int nId = 1;
|
||||
@@ -80,17 +86,6 @@ namespace Lux.API.Controllers
|
||||
return Ok(svgContent);
|
||||
}
|
||||
|
||||
private readonly Random _rnd = new Random();
|
||||
// ---------------------------------------------------------
|
||||
// ✅ ID incrementale: timestamp ms + random 4-6 chars
|
||||
// ---------------------------------------------------------
|
||||
private string GenerateId()
|
||||
{
|
||||
long ts = DateTimeOffset.UtcNow.ToUnixTimeMilliseconds();
|
||||
string rand = Convert.ToString(_rnd.Next(0x1000, 0xFFFF), 16).ToUpper();
|
||||
return $"{ts}-{rand}";
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// Chiamata GET: invia richiesta modo 3 (HardwareModelList) che sarà poi salvata
|
||||
/// GET: api/window/hwlist
|
||||
@@ -111,27 +106,7 @@ namespace Lux.API.Controllers
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// Esegue invio effettivo richiesta elenco HW list
|
||||
/// </summary>
|
||||
/// <returns></returns>
|
||||
private async Task sendHwReq()
|
||||
{
|
||||
Dictionary<string, string> DictExec = new Dictionary<string, string>();
|
||||
DictExec.Add("Mode", $"{(int)Egw.Window.Data.Enums.QuestionModes.HARDWARE}");
|
||||
// da rivedere?
|
||||
DictExec.Add("UID", "HW.AGB");
|
||||
// FixMe! todo! gestire con VERE richieste ID da servizio ReqIndexServicer!!!!
|
||||
DictExec.Add("RUID", GenerateId());
|
||||
DictExec.Add("SubMode", $"{(int)Egw.Window.Data.Enums.QuestionHwSubModes.LIST}");
|
||||
DictExec.Add("Manufacturer", $"{(int)Egw.Window.Data.Enums.HardwareManufacturers.AGB}");
|
||||
int nId = 1;
|
||||
// da modificare con tipo richiesta...
|
||||
QuestionDTO currArgs = new QuestionDTO(nId, EgwMultiEngineManager.Data.Constants.EXECENVIRONMENTS.WINDOW, DictExec);
|
||||
await _redisService.PublishAsync(chPub, currArgs.sProcessArgs);
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// Chiamata GET:
|
||||
/// Chiamata GET:
|
||||
/// - se trova in cache risponde con elenco hw già ricevuto
|
||||
/// - se non trova invia richiesta modo 3 (HardwareModelList) che sarà poi salvata
|
||||
/// GET: api/window/hwlist/nome_produttore
|
||||
@@ -177,7 +152,7 @@ namespace Lux.API.Controllers
|
||||
// ...se ricevo percorso --> leggo jwd/svg cablato
|
||||
if (!string.IsNullOrEmpty(id))
|
||||
{
|
||||
// bonifica nome svg da
|
||||
// bonifica nome svg da
|
||||
svgContent = _imgService.LoadSvg(id);
|
||||
}
|
||||
sw.Stop();
|
||||
@@ -254,16 +229,21 @@ namespace Lux.API.Controllers
|
||||
// ...se ricevo percorso --> leggo jwd/svg cablato
|
||||
if (!string.IsNullOrEmpty(currJwd))
|
||||
{
|
||||
// init vars
|
||||
Dictionary<string, string> DictExec = new Dictionary<string, string>();
|
||||
DictExec.Add("Mode", $"{(int)Egw.Window.Data.Enums.QuestionModes.PREVIEW}");
|
||||
var cMode = Egw.Window.Data.Enums.QuestionModes.PREVIEW;
|
||||
|
||||
DictExec.Add("Mode", $"{(int)cMode}");
|
||||
// UID cablato x ora...
|
||||
DictExec.Add("UID", id);
|
||||
// FixMe! todo! gestire con VERE richieste ID da servizio ReqIndexServicer!!!!
|
||||
DictExec.Add("RUID", GenerateId());
|
||||
// creo registrazione richiesta...
|
||||
var ruid = await _calcRuidService.AddRequestAsync($"{cEnvir}", $"{cMode}", id);
|
||||
// aggiungo RUID effettivo
|
||||
DictExec.Add("RUID", ruid);
|
||||
DictExec.Add("SerializedData", currJwd);
|
||||
int nId = 1;
|
||||
// da modificare con tipo richiesta...
|
||||
QuestionDTO currArgs = new QuestionDTO(nId, EgwMultiEngineManager.Data.Constants.EXECENVIRONMENTS.WINDOW, DictExec);
|
||||
QuestionDTO currArgs = new QuestionDTO(nId, cEnvir, DictExec);
|
||||
|
||||
await _redisService.PublishAsync(chPub, currArgs.sProcessArgs);
|
||||
svgContent = "DONE";
|
||||
@@ -278,10 +258,14 @@ namespace Lux.API.Controllers
|
||||
#region Private Fields
|
||||
|
||||
private static Logger Log = LogManager.GetCurrentClassLogger();
|
||||
private readonly CalcRuidService _calcRuidService;
|
||||
private readonly IRedisService _redisService;
|
||||
private readonly string chPub = "";
|
||||
|
||||
private IConfiguration _config;
|
||||
|
||||
private EgwMultiEngineManager.Data.Constants.EXECENVIRONMENTS cEnvir = EgwMultiEngineManager.Data.Constants.EXECENVIRONMENTS.WINDOW;
|
||||
|
||||
/// <summary>
|
||||
/// Demorichiesta jwd x fare test richiesta calcolo
|
||||
/// </summary>
|
||||
@@ -291,9 +275,42 @@ namespace Lux.API.Controllers
|
||||
|
||||
#region Private Properties
|
||||
|
||||
private ImageCacheService _imgService { get; set; }
|
||||
private ConfigDataService _confService { get; set; }
|
||||
|
||||
private ImageCacheService _imgService { get; set; }
|
||||
|
||||
#endregion Private Properties
|
||||
|
||||
#region Private Methods
|
||||
|
||||
/// <summary>
|
||||
/// Esegue invio effettivo richiesta elenco HW list
|
||||
/// </summary>
|
||||
/// <returns></returns>
|
||||
private async Task sendHwReq()
|
||||
{
|
||||
// init vars
|
||||
Dictionary<string, string> DictExec = new Dictionary<string, string>();
|
||||
var cMode = Egw.Window.Data.Enums.QuestionModes.HARDWARE;
|
||||
var cSubMode = Egw.Window.Data.Enums.QuestionHwSubModes.LIST;
|
||||
var cManufact = Egw.Window.Data.Enums.HardwareManufacturers.AGB;
|
||||
// compongo richiesta
|
||||
DictExec.Add("Mode", $"{(int)cMode}");
|
||||
// aggiungo dati ID
|
||||
string uid = "HW.AGB";
|
||||
DictExec.Add("UID", uid);
|
||||
// creo registrazione richiesta...
|
||||
var ruid = await _calcRuidService.AddRequestAsync($"{cEnvir}", $"{cMode}-{cSubMode}", uid);
|
||||
// aggiungo RUID effettivo
|
||||
DictExec.Add("RUID", ruid);
|
||||
DictExec.Add("SubMode", $"{(int)cSubMode}");
|
||||
DictExec.Add("Manufacturer", $"{(int)cManufact}");
|
||||
int nId = 1;
|
||||
// da modificare con tipo richiesta...
|
||||
QuestionDTO currArgs = new QuestionDTO(nId, cEnvir, DictExec);
|
||||
await _redisService.PublishAsync(chPub, currArgs.sProcessArgs);
|
||||
}
|
||||
|
||||
#endregion Private Methods
|
||||
}
|
||||
}
|
||||
Reference in New Issue
Block a user