using Microsoft.Extensions.Configuration; using MP.Core.DTO; using StackExchange.Redis; using System; using System.Collections.Generic; using System.Threading.Tasks; namespace MP.Data.Services { public class SchedulerDataService : BaseServ { /// /// Init servizio TAB /// /// public SchedulerDataService(IConfiguration configuration, IConnectionMultiplexer redConn) : base(configuration, redConn) { _configuration = configuration; // // conf DB // ConnStr = _configuration.GetConnectionString("MP.All"); // if (string.IsNullOrEmpty(ConnStr)) // { // Log.Error("ConnString empty!"); // } // else // { // StringBuilder sb = new StringBuilder(); // dbTabController = new Controllers.MpTabController(configuration); // sb.AppendLine($"TabDataService | MpTabController OK"); // dbIocController = new Controllers.MpIocController(configuration); // sb.AppendLine($"TabDataService | MpIocController OK"); // dbInveController = new Controllers.MpInveController(configuration); // sb.AppendLine($"TabDataService | MpInveController OK"); // Log.Info(sb.ToString()); // // sistemo i parametri x redHas... // CodModulo = _configuration.GetValue("SpecialConf:CodModulo"); // CodModuloParam = _configuration.GetValue("SpecialConf:CodModuloParam"); //#if false // MpIoNS = _configuration.GetValue("ServerConf:MpIoNS"); //#endif // var cstringArray = ConnStr.Split(";"); // foreach (var item in cstringArray) // { // var cData = item.Trim().Split("="); // if (cData.Length == 2) // { // if (!connStrParams.ContainsKey(cData[0])) // { // connStrParams.Add(cData[0], cData[1]); // } // } // } // // sistemo // DataSource = connStrParams["Server"]; // DataBase = connStrParams["Database"]; // } } public async Task>?> PlannerGetEvents(DateTime dtInizio, DateTime dtFine) { Dictionary>? result = null; await Task.Delay(200); return result; //using var activity = StartActivity(); //string source = "DB"; //Dictionary>? result = null; //// cerco in redis... //string currKey = $"{redisBaseKey}:PlannerData:{dtStart:yyyyMMdd}:{dtEnd:yyyyMMdd}"; //RedisValue rawData = await _redisDb.StringGetAsync(currKey); ////if (!string.IsNullOrEmpty($"{rawData}")) //if (rawData.HasValue && rawData.Length() > 2) //{ // result = JsonConvert.DeserializeObject>>($"{rawData}"); // source = "REDIS"; //} //else //{ // result = dataSimController.PlannerGetEvents(dtStart, dtEnd); // // serializzo e salvo... // rawData = JsonConvert.SerializeObject(result); // await _redisDb.StringSetAsync(currKey, rawData, LongCache); //} //activity?.SetTag("data.source", source); //LogTrace($"{source} | trace: {activity?.TraceId} | {activity?.Duration.TotalMilliseconds}ms"); //return result; } } }