54 lines
1.9 KiB
C#
54 lines
1.9 KiB
C#
using EgwCoreLib.Lux.Core.RestPayload;
|
|
using EgwCoreLib.Lux.Data.Controllers;
|
|
using EgwCoreLib.Lux.Data.DbModel.Config;
|
|
using EgwMultiEngineManager.Data;
|
|
using Microsoft.Extensions.Configuration;
|
|
using Newtonsoft.Json;
|
|
using NLog;
|
|
using StackExchange.Redis;
|
|
using System;
|
|
using System.Collections.Generic;
|
|
using System.Linq;
|
|
using System.Text;
|
|
using System.Threading.Tasks;
|
|
|
|
namespace EgwCoreLib.Lux.Data.Services
|
|
{
|
|
public class ConfigDataService : BaseServ
|
|
{
|
|
|
|
public ConfigDataService(IConfiguration configuration, IConnectionMultiplexer RedisConn) : base(configuration, RedisConn)
|
|
{
|
|
// init implicito
|
|
Log.Info($"ConfigDataService | Init OK");
|
|
}
|
|
|
|
/// <summary>
|
|
/// restituisce l'elenco dell'HW valido in memoria
|
|
/// </summary>
|
|
/// <returns></returns>
|
|
public List<HardwareModel> ElencoHw(Constants.EXECENVIRONMENTS execEnvironment, string HwReq = "HW.AGB")
|
|
{
|
|
List<HardwareModel> result = new List<HardwareModel>();
|
|
// leggo obj da redis cache
|
|
var currKey = $"{redisBaseKey}:{execEnvironment}:HML:{HwReq}";
|
|
RedisValue rawData = redisDb.StringGet(currKey);
|
|
// prendo solo i valori validi (Description <> FamilyName)
|
|
if (rawData.HasValue)
|
|
{
|
|
var currList = JsonConvert.DeserializeObject<List<HardwareModel>>($"{rawData}");
|
|
result = currList ?? new List<HardwareModel>();
|
|
//var currList = JsonConvert.DeserializeObject<HwListDTO>($"{rawData}");
|
|
//if (currList != null && currList.ListItem != null)
|
|
//{
|
|
// result = currList.ListItem;
|
|
//}
|
|
}
|
|
return result;
|
|
}
|
|
|
|
private static Logger Log = LogManager.GetCurrentClassLogger();
|
|
private string redisBaseKey = "Lux";
|
|
}
|
|
}
|