Update pagina UserLog

This commit is contained in:
Samuele Locatelli
2021-05-21 14:47:01 +02:00
parent 68c2e290ac
commit 9c34eaa71c
3 changed files with 74 additions and 22 deletions
+38 -4
View File
@@ -102,9 +102,26 @@ namespace MP.Stats.Data
#region Public Methods
public Task<MP.Data.DatabaseModels.AzioniUL[]> ActionsGetAll()
public async Task<List<MP.Data.DatabaseModels.AzioniUL>> ActionsGetAll()
{
return Task.FromResult(dbController.ActionsGetAll().ToArray());
//return Task.FromResult(dbController.ActionsGetAll());
List<MP.Data.DatabaseModels.AzioniUL> dbResult = new List<MP.Data.DatabaseModels.AzioniUL>();
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<List<MP.Data.DatabaseModels.AzioniUL>>(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<MP.Data.DatabaseModels.UserActionLog[]> StatUserLogGetAll(DateTime DataStart, DateTime DataEnd, string IdxMacchina, int IdxODL, string KeyRichiesta, string CodArticolo, string searchVal = "")
public async Task<List<MP.Data.DatabaseModels.UserActionLog>> 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<MP.Data.DatabaseModels.UserActionLog> dbResult = new List<MP.Data.DatabaseModels.UserActionLog>();
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<List<MP.Data.DatabaseModels.UserActionLog>>(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
+10 -13
View File
@@ -1,31 +1,28 @@
@page "/userlog"
@using MP.Stats.Components
@using MP.Stats.Data
<div class="card">
<div class="card-header table-primary">
<div class="row">
<div class="col-6 col-lg-3 h2">User ActionLog</div>
<div class="col-6 col-lg-9">
<div class="col-6 h2">User ActionLog</div>
<div class="col-6">
</div>
</div>
</div>
<div class="card-body py-0">
@if (currRecord != null)
<div class="row">
<div class="col-12 table-secondary">
<SelectionFilter SelFilter="currFilter" filterChanged="DoFilter"></SelectionFilter>
</div>
</div>
@if (totalCount == 0 || ListRecords == null)
{
@*<BasketEditor Basket="@currBasket" DataReset="ResetData" DataUpdated="UpdateData"></BasketEditor>*@
}
@if (ListRecords == null)
{
<div class="progress-bar progress-bar-striped progress-bar-animated" style="width:70%"></div>
<LoadingData></LoadingData>
}
else
{
<div class="row">
<div class="col-12 table-secondary">
<SelectionFilter SelFilter="currFilter" filterChanged="DoFilter"></SelectionFilter>
</div>
<div class="col-12">
<table class="table table-sm table-striped">
<thead>
@@ -75,6 +72,6 @@
}
</div>
<div class="card-footer py-1">
<DataPager PageSize="@numRecord" currPage="@currPage" numRecordChanged="ForceReload" numPageChanged="ForceReloadPage" totalCount="@SearchRecords.Count()" />
<DataPager PageSize="@numRecord" currPage="@currPage" numRecordChanged="ForceReload" numPageChanged="ForceReloadPage" totalCount="@totalCount" showLoading="@isLoading" />
</div>
</div>
+26 -5
View File
@@ -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<MP.Data.DatabaseModels.AzioniUL> ActionsList;
private MP.Data.DatabaseModels.UserActionLog currRecord = null;
private MP.Data.DatabaseModels.UserActionLog[] ListRecords;
private MP.Data.DatabaseModels.UserActionLog[] SearchRecords;
private List<MP.Data.DatabaseModels.UserActionLog> ListRecords;
private List<MP.Data.DatabaseModels.UserActionLog> 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();