Update progress e selezione idxMacc

This commit is contained in:
Samuele Locatelli
2023-10-05 15:00:18 +02:00
parent 581982dba3
commit 0f60f41d1b
12 changed files with 167 additions and 38 deletions
+22 -1
View File
@@ -358,7 +358,7 @@ namespace MP.Data.Controllers
}
/// <summary>
/// Vista v_MSFD CALCOALTA x singola macchina (da stored) - singolo record
/// Vista v_MSFD x singola macchina (da stored) - singolo record
/// </summary>
/// <param name="idxMacc"></param>
/// <returns></returns>
@@ -378,6 +378,27 @@ namespace MP.Data.Controllers
}
return dbResult;
}
/// <summary>
/// Vista v_MSFD delle machine MULTI filtrato x macchina (da stored)
/// </summary>
/// <param name="idxMacc"></param>
/// <returns></returns>
public List<VMSFDModel> VMSFDGetMultiByMacc(string idxMacc)
{
List<VMSFDModel> dbResult = new List<VMSFDModel>();
using (var dbCtx = new MoonProContext(_configuration))
{
var IdxMacchina = new SqlParameter("@IdxMacchina", idxMacc);
dbResult = dbCtx
.DbSetMSFD
.FromSqlRaw("exec dbo.stp_MSFD_getMulti @IdxMacchina", IdxMacchina)
.AsNoTracking()
.AsEnumerable()
.ToList();
}
return dbResult;
}
#endregion Public Methods
+36 -1
View File
@@ -324,7 +324,7 @@ namespace MP.Data.Services
}
/// <summary>
/// Vista v_MSFD CALCOALTA x singola macchina (da stored) - singolo record
/// Vista v_MSFD x singola macchina (da stored) - singolo record
/// </summary>
/// <param name="idxMacc"></param>
/// <returns></returns>
@@ -358,6 +358,41 @@ namespace MP.Data.Services
Log.Debug($"VMSFDGetByMacc | {source} | {sw.Elapsed.TotalMilliseconds}ms");
return result;
}
/// <summary>
/// Vista v_MSFD delle machine MULTI filtrato x macchina (da stored)
/// </summary>
/// <param name="idxMacc"></param>
/// <returns></returns>
public async Task<List<VMSFDModel>> VMSFDGetMultiByMacc(string idxMacc)
{
// setup parametri costanti
string source = "DB";
Stopwatch sw = new Stopwatch();
sw.Start();
List<VMSFDModel>? result = new List<VMSFDModel>();
// cerco in redis...
string currKey = $"{redisBaseKey}:MSFD:MULTI:{idxMacc}";
RedisValue rawData = await redisDb.StringGetAsync(currKey);
if (!string.IsNullOrEmpty($"{rawData}"))
{
result = JsonConvert.DeserializeObject<List<VMSFDModel>>($"{rawData}");
source = "REDIS";
}
else
{
result = dbIocController.VMSFDGetByMacc(idxMacc);
// serializzp e salvo...
rawData = JsonConvert.SerializeObject(result);
await redisDb.StringSetAsync(currKey, rawData, UltraLongCache);
}
if (result == null)
{
result = new List<VMSFDModel>();
}
sw.Stop();
Log.Debug($"VMSFDGetMultiByMacc | {source} | {sw.Elapsed.TotalMilliseconds}ms");
return result;
}
#endregion Public Methods