Update gestione ODL
This commit is contained in:
@@ -1349,6 +1349,30 @@ namespace MP.Data.Controllers
|
||||
return dbResult;
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// Elenco prossimi ODL/PODL x macchina
|
||||
/// </summary>
|
||||
/// <param name="idxMacchina">Macchina</param>
|
||||
/// <param name="showAll"></param>
|
||||
/// <param name="numDayAdd"></param>
|
||||
/// <returns></returns>
|
||||
public List<vSelOdlModel> VSOdlGetUnused(string idxMacchina, bool showAll, int numDayAdd)
|
||||
{
|
||||
List<vSelOdlModel> dbResult = new List<vSelOdlModel>();
|
||||
using (var dbCtx = new MoonProContext(_configuration))
|
||||
{
|
||||
var IdxMacc = new SqlParameter("@IdxMacchina", idxMacchina);
|
||||
var ShowAll = new SqlParameter("@showAll", showAll);
|
||||
var NumDayAdd = new SqlParameter("@numDayAdd", numDayAdd);
|
||||
|
||||
dbResult = dbCtx
|
||||
.DbSetVSODL
|
||||
.FromSqlRaw("EXEC stp_vsODL_getUnused @IdxMacchina, @showAll, @numDayAdd", IdxMacc, ShowAll, NumDayAdd)
|
||||
.AsNoTracking()
|
||||
.ToList();
|
||||
}
|
||||
return dbResult;
|
||||
}
|
||||
#endregion Public Methods
|
||||
|
||||
#region Private Fields
|
||||
|
||||
@@ -14,6 +14,6 @@ namespace MP.Data.DatabaseModels
|
||||
[Key]
|
||||
public int value { get; set; } = 0;
|
||||
public string label { get; set; } = "";
|
||||
public DateTime conditio { get; set; } = DateTime.Now;
|
||||
public DateTime? conditio { get; set; } = DateTime.Now;
|
||||
}
|
||||
}
|
||||
|
||||
@@ -1953,6 +1953,43 @@ namespace MP.Data.Services
|
||||
return result;
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// Elenco prossimi ODL/PODL x macchina
|
||||
/// </summary>
|
||||
/// <param name="idxMacchina">Macchina</param>
|
||||
/// <param name="showAll"></param>
|
||||
/// <param name="numDayAdd"></param>
|
||||
/// <returns></returns>
|
||||
public async Task<List<vSelOdlModel>> VSOdlGetUnused(string idxMacchina, bool showAll, int numDayAdd)
|
||||
{
|
||||
string source = "DB";
|
||||
Stopwatch sw = new Stopwatch();
|
||||
sw.Start();
|
||||
List<vSelOdlModel>? result = new List<vSelOdlModel>();
|
||||
// cerco in redis...
|
||||
string currKey = $"{redisBaseKey}:VSODL:{idxMacchina}:ALL_{showAll}:{numDayAdd}";
|
||||
RedisValue rawData = await redisDb.StringGetAsync(currKey);
|
||||
if (rawData.HasValue)
|
||||
{
|
||||
result = JsonConvert.DeserializeObject<List<vSelOdlModel>>($"{rawData}");
|
||||
source = "REDIS";
|
||||
}
|
||||
else
|
||||
{
|
||||
result = await Task.FromResult(dbTabController.VSOdlGetUnused(idxMacchina, showAll, numDayAdd));
|
||||
// serializzp e salvo...
|
||||
rawData = JsonConvert.SerializeObject(result);
|
||||
await redisDb.StringSetAsync(currKey, rawData, LongCache);
|
||||
}
|
||||
if (result == null)
|
||||
{
|
||||
result = new List<vSelOdlModel>();
|
||||
}
|
||||
sw.Stop();
|
||||
Log.Debug($"VSOdlGetUnused | {source} | {sw.Elapsed.TotalMilliseconds}ms");
|
||||
return result;
|
||||
}
|
||||
|
||||
#endregion Public Methods
|
||||
|
||||
#region Protected Fields
|
||||
|
||||
Reference in New Issue
Block a user