Aggiunta metodi x Fermi non qualificati

This commit is contained in:
Samuele Locatelli
2023-10-09 11:47:28 +02:00
parent 2522d6f6a5
commit 8fcb16dd4d
8 changed files with 127 additions and 29 deletions
+38
View File
@@ -405,6 +405,44 @@ namespace MP.Data.Services
return answ;
}
/// <summary>
/// Recupera elenco fermi non qualificati da filtro
/// </summary>
/// <param name="idxMacchina">Idx macchina, "*" = tutte</param>
/// <param name="gg">Num massimo di giorni antecedenti</param>
/// <param name="durataMin">Durata minima (in minuti)</param>
/// <returns></returns>
public async Task<List<FermiNonQualModel>> FermiNonQualificatiFilt(string idxMacchina, int gg, double durataMin)
{
// setup parametri costanti
string source = "DB";
Stopwatch sw = new Stopwatch();
sw.Start();
List<FermiNonQualModel> result = new List<FermiNonQualModel>();
// cerco in redis...
string currKey = $"{redisBaseKey}:FNQ:{idxMacchina}:{gg}:{durataMin:N0}";
RedisValue rawData = await redisDb.StringGetAsync(currKey);
if (rawData.HasValue)
{
result = JsonConvert.DeserializeObject<List<FermiNonQualModel>>($"{rawData}");
source = "REDIS";
}
else
{
result = dbTabController.FermiNonQualificatiFilt(idxMacchina, gg, durataMin);
// serializzp e salvo...
rawData = JsonConvert.SerializeObject(result);
await redisDb.StringSetAsync(currKey, rawData, FastCache);
}
if (result == null)
{
result = new List<FermiNonQualModel>();
}
sw.Stop();
Log.Debug($"FermiNonQualificatiFilt | {source} | {sw.Elapsed.TotalMilliseconds}ms");
return result;
}
/// <summary>
/// Pulizia cache Redis (tutta)
/// </summary>