From 9c34eaa71c5ca14c8d93487106e99da0eef18df9 Mon Sep 17 00:00:00 2001 From: Samuele Locatelli Date: Fri, 21 May 2021 14:47:01 +0200 Subject: [PATCH] Update pagina UserLog --- MP.Stats/Data/MpStatsService.cs | 42 +++++++++++++++++++++++++++++---- MP.Stats/Pages/UserLog.razor | 23 ++++++++---------- MP.Stats/Pages/UserLog.razor.cs | 31 ++++++++++++++++++++---- 3 files changed, 74 insertions(+), 22 deletions(-) diff --git a/MP.Stats/Data/MpStatsService.cs b/MP.Stats/Data/MpStatsService.cs index a0e29965..922b3656 100644 --- a/MP.Stats/Data/MpStatsService.cs +++ b/MP.Stats/Data/MpStatsService.cs @@ -102,9 +102,26 @@ namespace MP.Stats.Data #region Public Methods - public Task ActionsGetAll() + public async Task> ActionsGetAll() { - return Task.FromResult(dbController.ActionsGetAll().ToArray()); + //return Task.FromResult(dbController.ActionsGetAll()); + List dbResult = new List(); + string cacheKey = "MP:STATS:AZIONI_ALL"; + string rawData; + var redisDataList = await distributedCache.GetAsync(cacheKey); + if (redisDataList != null) + { + rawData = Encoding.UTF8.GetString(redisDataList); + dbResult = JsonConvert.DeserializeObject>(rawData); + } + else + { + dbResult = dbController.ActionsGetAll(); + rawData = JsonConvert.SerializeObject(dbResult); + redisDataList = Encoding.UTF8.GetBytes(rawData); + await distributedCache.SetAsync(cacheKey, redisDataList, cacheOpt); + } + return await Task.FromResult(dbResult); } public void rollBackEdit(object item) @@ -246,9 +263,26 @@ namespace MP.Stats.Data return Task.FromResult(dbController.StatTurniParetoOdlGetAll(DataStart, DataEnd, IdxMacchina, IdxODL, KeyRichiesta, CodArticolo).ToArray()); } - public Task StatUserLogGetAll(DateTime DataStart, DateTime DataEnd, string IdxMacchina, int IdxODL, string KeyRichiesta, string CodArticolo, string searchVal = "") + public async Task> StatUserLogGetAll(SelectData CurrFilter, string searchVal = "") { - return Task.FromResult(dbController.StatUserLogGetAll(DataStart, DataEnd, IdxMacchina, IdxODL, KeyRichiesta, CodArticolo).ToArray()); + //return Task.FromResult(dbController.StatUserLogGetAll(DataStart, DataEnd, IdxMacchina, IdxODL, KeyRichiesta, CodArticolo).ToArray()); + List dbResult = new List(); + string cacheKey = getCacheKey("MP:STATS:USRACTLOG", CurrFilter); + string rawData; + var redisDataList = await distributedCache.GetAsync(cacheKey); + if (redisDataList != null) + { + rawData = Encoding.UTF8.GetString(redisDataList); + dbResult = JsonConvert.DeserializeObject>(rawData); + } + else + { + dbResult = dbController.StatUserLogGetAll(CurrFilter.DateStart, CurrFilter.DateEnd, CurrFilter.IdxMacchina, CurrFilter.IdxOdl, CurrFilter.KeyRichiesta, CurrFilter.CodArticolo); + rawData = JsonConvert.SerializeObject(dbResult); + redisDataList = Encoding.UTF8.GetBytes(rawData); + await distributedCache.SetAsync(cacheKey, redisDataList, cacheOpt); + } + return await Task.FromResult(dbResult); } #endregion Public Methods diff --git a/MP.Stats/Pages/UserLog.razor b/MP.Stats/Pages/UserLog.razor index b1e792e1..6c628007 100644 --- a/MP.Stats/Pages/UserLog.razor +++ b/MP.Stats/Pages/UserLog.razor @@ -1,31 +1,28 @@ @page "/userlog" @using MP.Stats.Components -@using MP.Stats.Data
-
User ActionLog
-
+
User ActionLog
+
- @if (currRecord != null) +
+
+ +
+
+ @if (totalCount == 0 || ListRecords == null) { - @**@ - } - @if (ListRecords == null) - { -
+ } else {
-
- -
@@ -75,6 +72,6 @@ } \ No newline at end of file diff --git a/MP.Stats/Pages/UserLog.razor.cs b/MP.Stats/Pages/UserLog.razor.cs index 24eb1c4f..248addff 100644 --- a/MP.Stats/Pages/UserLog.razor.cs +++ b/MP.Stats/Pages/UserLog.razor.cs @@ -2,6 +2,7 @@ using Microsoft.AspNetCore.Components; using Microsoft.JSInterop; using MP.Stats.Data; using System; +using System.Collections.Generic; using System.Linq; using System.Threading.Tasks; @@ -11,11 +12,11 @@ namespace MP.Stats.Pages { #region Private Fields - private MP.Data.DatabaseModels.AzioniUL[] ActionsList; + private List ActionsList; private MP.Data.DatabaseModels.UserActionLog currRecord = null; - private MP.Data.DatabaseModels.UserActionLog[] ListRecords; - private MP.Data.DatabaseModels.UserActionLog[] SearchRecords; + private List ListRecords; + private List SearchRecords; #endregion Private Fields @@ -23,6 +24,7 @@ namespace MP.Stats.Pages private SelectData currFilter { get; set; } = new SelectData(); private int currPage { get; set; } = 1; + private bool isLoading { get; set; } = false; private int numRecord { get; set; } = 10; #endregion Private Properties @@ -41,15 +43,30 @@ namespace MP.Stats.Pages [Inject] protected MpStatsService StatService { get; set; } + protected int totalCount + { + get + { + int answ = 0; + if (SearchRecords != null) + { + answ = SearchRecords.Count; + } + return answ; + } + } + #endregion Protected Properties #region Private Methods private async Task reloadData() { + isLoading = true; ActionsList = await StatService.ActionsGetAll(); - SearchRecords = await StatService.StatUserLogGetAll(currFilter.DateStart, currFilter.DateEnd, currFilter.IdxMacchina, currFilter.IdxOdl, currFilter.KeyRichiesta, currFilter.CodArticolo, MessageService.SearchVal); - ListRecords = SearchRecords.Skip(numRecord * (currPage - 1)).Take(numRecord).ToArray(); + SearchRecords = await StatService.StatUserLogGetAll(currFilter, MessageService.SearchVal); + ListRecords = SearchRecords.Skip(numRecord * (currPage - 1)).Take(numRecord).ToList(); + isLoading = false; } #endregion Private Methods @@ -58,6 +75,8 @@ namespace MP.Stats.Pages protected async Task DoFilter(SelectData newFilter) { + SearchRecords = null; + ListRecords = null; currFilter = newFilter; await reloadData(); } @@ -76,6 +95,8 @@ namespace MP.Stats.Pages protected override async Task OnInitializedAsync() { + numRecord = 10; + currFilter = SelectData.Init(5, 7); MessageService.ShowSearch = false; MessageService.EA_SearchUpdated += OnSeachUpdated; await reloadData();