Fix ricerca con paginazione da DB
This commit is contained in:
@@ -238,7 +238,8 @@ namespace MP.Prog.Data
|
||||
List<FileData.DatabaseModels.FileModel> dbResult = new List<FileData.DatabaseModels.FileModel>();
|
||||
Stopwatch stopWatch = new Stopwatch();
|
||||
stopWatch.Start();
|
||||
dbResult = dbController.FileGetFilt(CurrFilter.IdxMacchina, CurrFilter.OnlyActive, CurrFilter.OnlyMod, CurrFilter.FirstRecord, CurrFilter.PageSize * 10, CurrFilter.SearchVal).ToList();
|
||||
dbResult = dbController.FileGetFilt(CurrFilter.IdxMacchina, CurrFilter.OnlyActive, CurrFilter.OnlyMod, CurrFilter.NumSkip, CurrFilter.PageSize, CurrFilter.SearchVal).ToList();
|
||||
//dbResult = dbController.FileGetFilt(CurrFilter.IdxMacchina, CurrFilter.OnlyActive, CurrFilter.OnlyMod, CurrFilter.FirstRecord, CurrFilter.PageSize * 10, CurrFilter.SearchVal).ToList();
|
||||
stopWatch.Stop();
|
||||
TimeSpan ts = stopWatch.Elapsed;
|
||||
Log.Info($"Effettuata lettura da DB + caching per FileGetFilt: {ts.TotalMilliseconds} ms");
|
||||
|
||||
@@ -26,6 +26,18 @@ namespace MP.Prog.Data
|
||||
}
|
||||
|
||||
public string IdxMacchina { get; set; } = "";
|
||||
|
||||
/// <summary>
|
||||
/// Recorda da saltare x arrivare alla pagina corrente
|
||||
/// </summary>
|
||||
public int NumSkip
|
||||
{
|
||||
get
|
||||
{
|
||||
return PageSize * (PageNum - 1);
|
||||
}
|
||||
}
|
||||
|
||||
public bool OnlyActive { get; set; } = true;
|
||||
public bool OnlyMod { get; set; } = false;
|
||||
|
||||
|
||||
@@ -19,7 +19,6 @@ namespace MP.Prog.Pages
|
||||
private FileModel currRecord = null;
|
||||
private List<FileModel> ListRecords;
|
||||
private List<MacchinaModel> MacList;
|
||||
private List<FileModel> SearchRecords;
|
||||
private List<TagModel> TagList;
|
||||
|
||||
#endregion Private Fields
|
||||
@@ -222,7 +221,6 @@ namespace MP.Prog.Pages
|
||||
{
|
||||
isLoading = true;
|
||||
currRecord = null;
|
||||
SearchRecords = null;
|
||||
ListRecords = null;
|
||||
//var pUpd = Task.Run(async () =>
|
||||
//{
|
||||
@@ -242,7 +240,6 @@ namespace MP.Prog.Pages
|
||||
protected async Task ForceCheck(int numDays)
|
||||
{
|
||||
currRecord = null;
|
||||
SearchRecords = null;
|
||||
ListRecords = null;
|
||||
// importante altrimenti NON mostra update UI
|
||||
await Task.Delay(1);
|
||||
@@ -300,9 +297,11 @@ namespace MP.Prog.Pages
|
||||
// importante altrimenti NON mostra update UI
|
||||
await Task.Delay(1);
|
||||
totalCount = await DataService.FileCountFilt(AppMService.File_Filter);
|
||||
SearchRecords = await DataService.FileGetFilt(AppMService.File_Filter);
|
||||
// faccio paginazione SOLO NELLA DECINA attuale... (quindi non tutte le pagine ma solo subset)
|
||||
ListRecords = SearchRecords.Skip(numRecord * (currPage % 10 - 1)).Take(numRecord).ToList();
|
||||
//SearchRecords = await DataService.FileGetFilt(AppMService.File_Filter);
|
||||
//// faccio paginazione SOLO NELLA DECINA attuale... (quindi non tutte le pagine ma solo subset)
|
||||
//ListRecords = SearchRecords.Skip(numRecord * (currPage % 10 - 1)).Take(numRecord).ToList();
|
||||
|
||||
ListRecords = await DataService.FileGetFilt(AppMService.File_Filter);
|
||||
}
|
||||
|
||||
protected void ResetData()
|
||||
@@ -314,7 +313,6 @@ namespace MP.Prog.Pages
|
||||
protected async Task ResetFilter()
|
||||
{
|
||||
currRecord = null;
|
||||
SearchRecords = null;
|
||||
ListRecords = null;
|
||||
AppMService.File_Filter = SelectData.Init(5, 10);
|
||||
SearchTag = defTag;
|
||||
|
||||
Reference in New Issue
Block a user