diff --git a/MP.Data/Controllers/MpStatsController.cs b/MP.Data/Controllers/MpStatsController.cs
index 4a5b58ff..853d1c02 100644
--- a/MP.Data/Controllers/MpStatsController.cs
+++ b/MP.Data/Controllers/MpStatsController.cs
@@ -7,10 +7,7 @@ using System.Configuration;
using NLog;
using Microsoft.Extensions.Configuration;
using Microsoft.EntityFrameworkCore;
-using Microsoft.Extensions.Caching.Distributed;
-using Microsoft.Extensions.Caching.Memory;
using Microsoft.Data.SqlClient;
-using Newtonsoft.Json;
namespace MP.Data.Controllers
{
@@ -21,18 +18,14 @@ namespace MP.Data.Controllers
private static IConfiguration _configuration;
private static MoonPro_STATSContext dbCtx;
private static NLog.Logger Log = LogManager.GetCurrentClassLogger();
- private readonly IDistributedCache distributedCache;
- private readonly IMemoryCache memoryCache;
#endregion Private Fields
#region Public Constructors
- public MpStatsController(IConfiguration configuration, IMemoryCache memoryCache, IDistributedCache distributedCache)
+ public MpStatsController(IConfiguration configuration)
{
_configuration = configuration;
- this.memoryCache = memoryCache;
- this.distributedCache = distributedCache;
dbCtx = new MoonPro_STATSContext(configuration);
Log.Info("Avviata classe MpStatsController.MpStatsController");
}
@@ -235,39 +228,21 @@ namespace MP.Data.Controllers
///
///
///
- public async Task> StatTurniOeeGetAll(DateTime DataStart, DateTime DataEnd, string IdxMacchina, int IdxODL, string KeyRichiesta, string CodArticolo)
+ public List StatTurniOeeGetAll(DateTime DataStart, DateTime DataEnd, string IdxMacchina, int IdxODL, string KeyRichiesta, string CodArticolo)
{
List dbResult = new List();
- var cacheKey = "oeeData";
- string rawData;
- var redisCustomerList = await distributedCache.GetAsync(cacheKey);
- if (redisCustomerList != null)
- {
- rawData = Encoding.UTF8.GetString(redisCustomerList);
- dbResult = JsonConvert.DeserializeObject>(rawData);
- }
- else
- {
- var dataFrom = new SqlParameter("@dataFrom", DataStart);
- var dataTo = new SqlParameter("@dataTo", DataEnd);
- var idxMacchina = new SqlParameter("@idxMacchina", IdxMacchina);
- var idxODL = new SqlParameter("@IdxODL", IdxODL);
- var keyRichiesta = new SqlParameter("@KeyRichiesta", KeyRichiesta);
- var codArticolo = new SqlParameter("@CodArticolo", CodArticolo);
+ var dataFrom = new SqlParameter("@dataFrom", DataStart);
+ var dataTo = new SqlParameter("@dataTo", DataEnd);
+ var idxMacchina = new SqlParameter("@idxMacchina", IdxMacchina);
+ var idxODL = new SqlParameter("@IdxODL", IdxODL);
+ var keyRichiesta = new SqlParameter("@KeyRichiesta", KeyRichiesta);
+ var codArticolo = new SqlParameter("@CodArticolo", CodArticolo);
- dbResult = dbCtx
- .DbSetTurniOee
- .FromSqlRaw("EXEC stp_UI_TurniOee_GetByFilter @dataFrom,@dataTo,@idxMacchina,@IdxODL,@KeyRichiesta,@CodArticolo", dataFrom, dataTo, idxMacchina, idxODL, keyRichiesta, codArticolo)
- .ToList();
-
- rawData = JsonConvert.SerializeObject(dbResult);
- redisCustomerList = Encoding.UTF8.GetBytes(rawData);
- var options = new DistributedCacheEntryOptions()
- .SetAbsoluteExpiration(DateTime.Now.AddMinutes(10))
- .SetSlidingExpiration(TimeSpan.FromMinutes(2));
- await distributedCache.SetAsync(cacheKey, redisCustomerList, options);
- }
+ dbResult = dbCtx
+ .DbSetTurniOee
+ .FromSqlRaw("EXEC stp_UI_TurniOee_GetByFilter @dataFrom,@dataTo,@idxMacchina,@IdxODL,@KeyRichiesta,@CodArticolo", dataFrom, dataTo, idxMacchina, idxODL, keyRichiesta, codArticolo)
+ .ToList();
return dbResult;
}
diff --git a/MP.Stats/Data/MpStatsService.cs b/MP.Stats/Data/MpStatsService.cs
index 16ee0e52..ce338d85 100644
--- a/MP.Stats/Data/MpStatsService.cs
+++ b/MP.Stats/Data/MpStatsService.cs
@@ -54,7 +54,7 @@ namespace MP.Stats.Data
}
else
{
- dbController = new MP.Data.Controllers.MpStatsController(configuration, memoryCache, distributedCache);
+ dbController = new MP.Data.Controllers.MpStatsController(configuration);
StringBuilder sb = new StringBuilder();
sb.AppendLine($"DbController OK");
//sb.AppendLine($"CST: {dbController.CustomersCount()} | CNT: {dbController.CountersCount()} | BSK: {dbController.BasketsCount()} | NGT: {dbController.NegotiationsCount()} | DOC: {dbController.DocsCount()} | ITM: {dbController.ItemsCount()} | RES: {dbController.ResourcesCount()}");
@@ -107,9 +107,33 @@ namespace MP.Stats.Data
return Task.FromResult(dbController.StatScartiGetAll(DataStart, DataEnd, IdxMacchina, IdxODL, KeyRichiesta, CodArticolo).ToArray());
}
- public Task> StatTurniOeeGetAll(DateTime DataStart, DateTime DataEnd, string IdxMacchina, int IdxODL, string KeyRichiesta, string CodArticolo, string searchVal = "")
+ public async Task> StatTurniOeeGetAllAsync(DateTime DataStart, DateTime DataEnd, string IdxMacchina, int IdxODL, string KeyRichiesta, string CodArticolo, string searchVal = "")
{
- return dbController.StatTurniOeeGetAll(DataStart, DataEnd, IdxMacchina, IdxODL, KeyRichiesta, CodArticolo);
+ return await Task.FromResult(dbController.StatTurniOeeGetAll(DataStart, DataEnd, IdxMacchina, IdxODL, KeyRichiesta, CodArticolo));
+ }
+
+ public async Task> StatTurniOeeGetAllCached(DateTime DataStart, DateTime DataEnd, string IdxMacchina, int IdxODL, string KeyRichiesta, string CodArticolo, string searchVal = "")
+ {
+ List dbResult = new List();
+ var cacheKey = "oeeData";
+ string rawData;
+ var redisCustomerList = await distributedCache.GetAsync(cacheKey);
+ if (redisCustomerList != null)
+ {
+ rawData = Encoding.UTF8.GetString(redisCustomerList);
+ dbResult = JsonConvert.DeserializeObject>(rawData);
+ }
+ else
+ {
+ dbResult = dbController.StatTurniOeeGetAll(DataStart, DataEnd, IdxMacchina, IdxODL, KeyRichiesta, CodArticolo);
+ rawData = JsonConvert.SerializeObject(dbResult);
+ redisCustomerList = Encoding.UTF8.GetBytes(rawData);
+ var options = new DistributedCacheEntryOptions()
+ .SetAbsoluteExpiration(DateTime.Now.AddMinutes(10))
+ .SetSlidingExpiration(TimeSpan.FromMinutes(2));
+ await distributedCache.SetAsync(cacheKey, redisCustomerList, options);
+ }
+ return await Task.FromResult(dbResult);
}
public Task StatTurniParetoGetAll(DateTime DataStart, DateTime DataEnd, string IdxMacchina, int IdxODL, string KeyRichiesta, string CodArticolo, string searchVal = "")
diff --git a/MP.Stats/Pages/Oee.razor b/MP.Stats/Pages/Oee.razor
index f31be4fb..c974017b 100644
--- a/MP.Stats/Pages/Oee.razor
+++ b/MP.Stats/Pages/Oee.razor
@@ -16,7 +16,7 @@
{
@**@
}
- @if (ListRecords == null || totalCount == 0 || ListRecords.Count() == 0)
+ @if (totalCount == 0 || ListRecords == null || ListRecords.Count() == 0)
{
}
diff --git a/MP.Stats/Pages/Oee.razor.cs b/MP.Stats/Pages/Oee.razor.cs
index 37330e82..2e40d0d2 100644
--- a/MP.Stats/Pages/Oee.razor.cs
+++ b/MP.Stats/Pages/Oee.razor.cs
@@ -61,7 +61,8 @@ namespace MP.Stats.Pages
private async Task reloadData()
{
- SearchRecords = await StatService.StatTurniOeeGetAll(currFilter.DateStart, currFilter.DateEnd, currFilter.IdxMacchina, currFilter.IdxOdl, currFilter.KeyRichiesta, currFilter.CodArticolo, MessageService.SearchVal);
+ SearchRecords = await StatService.StatTurniOeeGetAllCached(currFilter.DateStart, currFilter.DateEnd, currFilter.IdxMacchina, currFilter.IdxOdl, currFilter.KeyRichiesta, currFilter.CodArticolo, MessageService.SearchVal);
+ //SearchRecords = await StatService.StatTurniOeeGetAll(currFilter.DateStart, currFilter.DateEnd, currFilter.IdxMacchina, currFilter.IdxOdl, currFilter.KeyRichiesta, currFilter.CodArticolo, MessageService.SearchVal);
ListRecords = SearchRecords.Skip(numRecord * (currPage - 1)).Take(numRecord).ToArray();
}