diff --git a/MP.FileData/Controllers/FileController.cs b/MP.FileData/Controllers/FileController.cs index 3cea0400..a1e46967 100644 --- a/MP.FileData/Controllers/FileController.cs +++ b/MP.FileData/Controllers/FileController.cs @@ -247,7 +247,7 @@ namespace MP.FileData.Controllers dbCtx.Dispose(); } - public int FileCountFilt(string IdxMacchina, bool OnlyActive, bool OnlyMod, bool OnlyNoTag, string FileName, string Tag, string SearchVal) + public int FileCountFilt(string IdxMacchina, bool OnlyActive, bool OnlyMod, bool OnlyNoTag, string FileName, string UserName, string Tag, string SearchVal) { int answ = 0; using (MoonPro_ProgContext localDbCtx = new MoonPro_ProgContext(_configuration)) @@ -259,6 +259,7 @@ namespace MP.FileData.Controllers && (x.Active == OnlyActive || !OnlyActive) && (x.Tags.Count() == 0 || !OnlyNoTag) && (!OnlyMod || x.DiskStatus != FileState.Ok) && (x.Path.Equals(FileName) || string.IsNullOrEmpty(FileName)) + && (x.UserAppr.Equals(UserName) || string.IsNullOrEmpty(UserName)) && (x.Tags.Where(t => t.TagId == Tag).Count() > 0 || string.IsNullOrEmpty(Tag)) && ((!string.IsNullOrEmpty(SearchVal) && (x.Path.Contains(SearchVal) || x.Tags.Where(t => t.TagId.Contains(SearchVal)).Count() > 0)) || string.IsNullOrEmpty(SearchVal)) ).Count(); @@ -397,7 +398,7 @@ namespace MP.FileData.Controllers return dbResult; } - public List FileGetFilt(string IdxMacchina, bool OnlyActive, bool OnlyMod, bool OnlyNoTag, string FileName, string Tag, string SearchVal, int NumStart, int NumRecords) + public List FileGetFilt(string IdxMacchina, bool OnlyActive, bool OnlyMod, bool OnlyNoTag, string FileName, string UserName, string Tag, string SearchVal, int NumStart, int NumRecords) { List dbResult = new List(); using (MoonPro_ProgContext localDbCtx = new MoonPro_ProgContext(_configuration)) @@ -411,6 +412,7 @@ namespace MP.FileData.Controllers && (x.Active == OnlyActive || !OnlyActive) && (x.Tags.Count() == 0 || !OnlyNoTag) && (!OnlyMod || x.DiskStatus != FileState.Ok) && (x.Path.Equals(FileName) || string.IsNullOrEmpty(FileName)) + && (x.UserAppr.Equals(UserName) || string.IsNullOrEmpty(UserName)) && (x.Tags.Where(t => t.TagId == Tag).Count() > 0 || string.IsNullOrEmpty(Tag)) && ((!string.IsNullOrEmpty(SearchVal) && (x.Path.Contains(SearchVal) || x.Tags.Where(t => t.TagId.Contains(SearchVal)).Count() > 0)) || string.IsNullOrEmpty(SearchVal)) ).OrderByDescending(x => x.LastMod) diff --git a/MP.Prog/Components/FileEditor.razor.cs b/MP.Prog/Components/FileEditor.razor.cs index b8fc6a45..40dd4f56 100644 --- a/MP.Prog/Components/FileEditor.razor.cs +++ b/MP.Prog/Components/FileEditor.razor.cs @@ -30,6 +30,7 @@ namespace MP.Prog.Components set { _currItem = value; + CompareRev = false; } } diff --git a/MP.Prog/Data/FileArchDataService.cs b/MP.Prog/Data/FileArchDataService.cs index c01312cc..5fb05c99 100644 --- a/MP.Prog/Data/FileArchDataService.cs +++ b/MP.Prog/Data/FileArchDataService.cs @@ -158,7 +158,7 @@ namespace MP.Prog.Data int numCount = 0; Stopwatch stopWatch = new Stopwatch(); stopWatch.Start(); - numCount = dbController.FileCountFilt(CurrFilter.IdxMacchina, CurrFilter.OnlyActive, CurrFilter.OnlyMod, CurrFilter.OnlyNoTag, CurrFilter.FileName, CurrFilter.Tag, CurrFilter.SearchVal); + numCount = dbController.FileCountFilt(CurrFilter.IdxMacchina, CurrFilter.OnlyActive, CurrFilter.OnlyMod, CurrFilter.OnlyNoTag, CurrFilter.FileName, CurrFilter.UserName, CurrFilter.Tag, CurrFilter.SearchVal); stopWatch.Stop(); TimeSpan ts = stopWatch.Elapsed; Log.Trace($"Effettuata lettura da DB per FileCountFilt: {ts.TotalMilliseconds} ms"); @@ -186,8 +186,7 @@ namespace MP.Prog.Data List dbResult = new List(); Stopwatch stopWatch = new Stopwatch(); stopWatch.Start(); - dbResult = dbController.FileGetFilt(CurrFilter.IdxMacchina, CurrFilter.OnlyActive, CurrFilter.OnlyMod, CurrFilter.OnlyNoTag, CurrFilter.FileName, CurrFilter.Tag, CurrFilter.SearchVal, CurrFilter.NumSkip, CurrFilter.PageSize).ToList(); - //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.OnlyNoTag, CurrFilter.FileName, CurrFilter.UserName, CurrFilter.Tag, CurrFilter.SearchVal, CurrFilter.NumSkip, CurrFilter.PageSize).ToList(); stopWatch.Stop(); TimeSpan ts = stopWatch.Elapsed; Log.Trace($"Effettuata lettura da DB per FileGetFilt: {ts.TotalMilliseconds} ms"); diff --git a/MP.Prog/Data/SelectData.cs b/MP.Prog/Data/SelectData.cs index 577fdcdf..581a7aba 100644 --- a/MP.Prog/Data/SelectData.cs +++ b/MP.Prog/Data/SelectData.cs @@ -14,6 +14,8 @@ namespace MP.Prog.Data public string FileName { get; set; } = ""; + public string UserName { get; set; } = ""; + /// /// Primo record x selezione paginata, tipicamente primo della "decina" della pagina corrente /// @@ -67,7 +69,8 @@ namespace MP.Prog.Data { DateEnd = endRounded, DateStart = endRounded.AddDays(-numDayPrev), - SearchVal = "" + SearchVal = "", + UserName="" }; return answ; } @@ -91,6 +94,8 @@ namespace MP.Prog.Data return false; if (FileName != item.FileName) return false; + if (UserName != item.UserName) + return false; if (IdxMacchina != item.IdxMacchina) return false; if (Tag != item.Tag) diff --git a/MP.Prog/MP.Prog.csproj b/MP.Prog/MP.Prog.csproj index 6aa9bb42..89755597 100644 --- a/MP.Prog/MP.Prog.csproj +++ b/MP.Prog/MP.Prog.csproj @@ -3,7 +3,7 @@ net6.0 MP.Prog - 6.16.2410.2218 + 6.16.2410.2219 diff --git a/MP.Prog/Pages/Archive.razor b/MP.Prog/Pages/Archive.razor index dfeeeedc..3214dbaa 100644 --- a/MP.Prog/Pages/Archive.razor +++ b/MP.Prog/Pages/Archive.razor @@ -50,28 +50,28 @@ -
+
@if (!string.IsNullOrEmpty(SelFileName)) { - @TextReduce(SelFileName, 20) + @TextReduce(SelFileName, 20) + } + @if (!string.IsNullOrEmpty(SelUserName)) + { + @TextReduce(SelUserName, 20) }
-
+
Tags -
+
@if (!string.IsNullOrEmpty(SelTag)) { @SelTag } - else - { -   ...   - }
+}
diff --git a/MP.Prog/Pages/Archive.razor.cs b/MP.Prog/Pages/Archive.razor.cs index e79a7898..20e47c48 100644 --- a/MP.Prog/Pages/Archive.razor.cs +++ b/MP.Prog/Pages/Archive.razor.cs @@ -106,7 +106,7 @@ namespace MP.Prog.Pages #region Protected Methods - protected async Task AsyncReload() + protected async Task ReloadAsync() { isLoading = true; currRecord = null; @@ -146,6 +146,15 @@ namespace MP.Prog.Pages isLoading = false; } + protected async Task FilterUserName(string userName) + { + SelUserName = userName; + currPage = 1; + //await ReloadAllData(); + await Task.Delay(1); + isLoading = false; + } + protected async Task FilterTag(string searchVal) { SelTag = searchVal; @@ -215,10 +224,8 @@ namespace MP.Prog.Pages // importante altrimenti NON mostra update UI await Task.Delay(1); totalCount = await FDService.FileCountFilt(MServ.File_Filter); - //SearchRecords = await FDService.FileGetFilt(MServ.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(); + // valutare recupero info + redis + pagiazione EX POST... ListRecords = await FDService.FileGetFilt(MServ.File_Filter); await Task.Delay(1); } @@ -336,7 +343,7 @@ namespace MP.Prog.Pages MServ.File_Filter.OnlyActive = value; var pUpd = Task.Run(async () => { - await AsyncReload(); + await ReloadAsync(); }); pUpd.Wait(); } @@ -361,7 +368,7 @@ namespace MP.Prog.Pages MServ.File_Filter.OnlyMod = value; var pUpd = Task.Run(async () => { - await AsyncReload(); + await ReloadAsync(); }); pUpd.Wait(); } @@ -386,7 +393,7 @@ namespace MP.Prog.Pages MServ.File_Filter.OnlyNoTag = value; var pUpd = Task.Run(async () => { - await AsyncReload(); + await ReloadAsync(); }); pUpd.Wait(); } @@ -411,7 +418,7 @@ namespace MP.Prog.Pages MServ.File_Filter.SearchVal = value; var pUpd = Task.Run(async () => { - await AsyncReload(); + await ReloadAsync(); }); pUpd.Wait(); } @@ -436,7 +443,31 @@ namespace MP.Prog.Pages MServ.File_Filter.FileName = value; var pUpd = Task.Run(async () => { - await AsyncReload(); + await ReloadAsync(); + }); + pUpd.Wait(); + } + } + } + private string SelUserName + { + get + { + string answ = ""; + if (MServ.File_Filter != null) + { + answ = MServ.File_Filter.UserName; + } + return answ; + } + set + { + if (!MServ.File_Filter.UserName.Equals(value)) + { + MServ.File_Filter.UserName = value; + var pUpd = Task.Run(async () => + { + await ReloadAsync(); }); pUpd.Wait(); } @@ -461,7 +492,7 @@ namespace MP.Prog.Pages MServ.File_Filter.IdxMacchina = value; var pUpd = Task.Run(async () => { - await AsyncReload(); + await ReloadAsync(); }); pUpd.Wait(); } @@ -486,7 +517,7 @@ namespace MP.Prog.Pages MServ.File_Filter.Tag = value; var pUpd = Task.Run(async () => { - await AsyncReload(); + await ReloadAsync(); }); pUpd.Wait(); } @@ -532,7 +563,7 @@ namespace MP.Prog.Pages { DeleteDialogOpen = false; currPage = 1; - await AsyncReload(); + await ReloadAsync(); //StateHasChanged(); } diff --git a/MP.Prog/Resources/ChangeLog.html b/MP.Prog/Resources/ChangeLog.html index b605f0cc..a3ed871e 100644 --- a/MP.Prog/Resources/ChangeLog.html +++ b/MP.Prog/Resources/ChangeLog.html @@ -1,6 +1,6 @@ Modulo gestione Programmi MAPO -

Versione: 6.16.2410.2218

+

Versione: 6.16.2410.2219


Note di rilascio:
    diff --git a/MP.Prog/Resources/VersNum.txt b/MP.Prog/Resources/VersNum.txt index ec69c37d..3cfca690 100644 --- a/MP.Prog/Resources/VersNum.txt +++ b/MP.Prog/Resources/VersNum.txt @@ -1 +1 @@ -6.16.2410.2218 +6.16.2410.2219 diff --git a/MP.Prog/Resources/manifest.xml b/MP.Prog/Resources/manifest.xml index a5145f6a..af79ea5d 100644 --- a/MP.Prog/Resources/manifest.xml +++ b/MP.Prog/Resources/manifest.xml @@ -1,6 +1,6 @@ - 6.16.2410.2218 + 6.16.2410.2219 https://nexus.steamware.net/repository/SWS/MP-PROG/stable/LAST/MP.Prog.zip https://nexus.steamware.net/repository/SWS/MP-PROG/stable/LAST/ChangeLog.html false