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"); } /// /// restituisce l'elenco dell'HW valido in memoria /// /// public List ElencoHw(Constants.EXECENVIRONMENTS execEnvironment, string HwReq = "HW.AGB") { List result = new List(); // 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>($"{rawData}"); result = currList ?? new List(); //var currList = JsonConvert.DeserializeObject($"{rawData}"); //if (currList != null && currList.ListItem != null) //{ // result = currList.ListItem; //} } return result; } private static Logger Log = LogManager.GetCurrentClassLogger(); private string redisBaseKey = "Lux"; } }