Fix display dettaglio KIT x TAB3

This commit is contained in:
Samuele Locatelli
2025-05-12 08:59:50 +02:00
parent 961d707a6d
commit aedaf7e0ec
12 changed files with 273 additions and 11 deletions
+75
View File
@@ -21,6 +21,7 @@ using System.Threading.Tasks;
using MongoDB.Driver.Core.Operations;
using MP.Data.Controllers;
using DnsClient.Protocol;
using MP.AppAuth.Controllers;
namespace MP.Data.Services
{
@@ -366,6 +367,44 @@ namespace MP.Data.Services
return result;
}
/// <summary>
/// Restitusice elenco articoli dato tipo (es KIT)
/// </summary>
/// <param name="tipo"></param>
/// <param name="azienda"></param>
/// <returns></returns>
public List<AnagArticoliModel> ArticoliGetByTipo(string tipo, string azienda = "*")
{
List<AnagArticoliModel>? result = new List<AnagArticoliModel>();
Stopwatch stopWatch = new Stopwatch();
stopWatch.Start();
string readType = "DB";
string sKey = string.IsNullOrEmpty(tipo) ? "ALL" : tipo;
string currKey = $"{Utils.redisArtList}:{azienda}:Tipo:{sKey}";
// cerco in redis dato valore sel idxMaccSel...
RedisValue rawData = redisDb.StringGet(currKey);
if (rawData.HasValue)
{
result = JsonConvert.DeserializeObject<List<AnagArticoliModel>>($"{rawData}");
readType = "REDIS";
}
else
{
result = dbTabController.ArticoliGetByTipo(tipo, azienda);
// serializzo e salvo...
rawData = JsonConvert.SerializeObject(result);
redisDb.StringSet(currKey, rawData, UltraLongCache);
}
if (result == null)
{
result = new List<AnagArticoliModel>();
}
stopWatch.Stop();
TimeSpan ts = stopWatch.Elapsed;
Log.Debug($"ArticoliGetByTipo | Read from {readType}: {ts.TotalMilliseconds}ms");
return result;
}
/// <summary>
/// Recupera elenco ultimi commenti
/// </summary>
@@ -3441,6 +3480,42 @@ namespace MP.Data.Services
return result;
}
/// <summary>
/// Elenco Template KIT da ricerca
/// </summary>
/// <param name="codParent"></param>
/// <param name="codChild"></param>
/// <returns></returns>
public List<TemplateKitModel> TemplateKitFilt(string codParent, string codChild)
{
string source = "DB";
Stopwatch sw = new Stopwatch();
sw.Start();
List<TemplateKitModel>? result = new List<TemplateKitModel>();
// cerco in redis...
string currKey = $"{Utils.redisKitTempl}:{codParent}:{codChild}";
RedisValue rawData = redisDb.StringGet(currKey);
if (rawData.HasValue)
{
result = JsonConvert.DeserializeObject<List<TemplateKitModel>>($"{rawData}");
source = "REDIS";
}
else
{
result = dbTabController.TemplateKitFilt(codParent, codChild);
// serializzo e salvo...
rawData = JsonConvert.SerializeObject(result);
redisDb.StringSet(currKey, rawData, LongCache);
}
if (result == null)
{
result = new List<TemplateKitModel>();
}
sw.Stop();
Log.Debug($"TemplateKitFilt | {source} | {sw.Elapsed.TotalMilliseconds}ms");
return result;
}
/// <summary>
/// Turno macchina
/// </summary>