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;
}
}
}