diff --git a/MP.Data/Controllers/MpStatsController.cs b/MP.Data/Controllers/MpStatsController.cs index a1367daa..a03ae446 100644 --- a/MP.Data/Controllers/MpStatsController.cs +++ b/MP.Data/Controllers/MpStatsController.cs @@ -144,8 +144,9 @@ namespace MP.Data.Controllers /// Chiamata esecuzione di un singolo task programmato /// /// + /// Se true rischedula successiva chiamata /// - public TaskResultModel ExecuteTask(int TaskId) + public TaskResultModel ExecuteTask(int TaskId, bool SchedNext) { TaskResultModel callRes = new TaskResultModel(); using (var dbCtx = new MoonPro_STATSContext(_configuration)) @@ -190,10 +191,14 @@ namespace MP.Data.Controllers // aggiorno record chiamata... currRec.DtLastExec = dtStart; currRec.LastResult = resRec.Result; - currRec.LastIsError=resRec.IsError; + currRec.LastIsError = resRec.IsError; currRec.LastDuration = dtEnd.Subtract(dtStart).TotalSeconds; - // calcolo prossima esecuzione... - currRec.DtNextExec = CalcNextExe(currRec); + // solo se richiesto rischedulazione ricalcola chiamata + if (SchedNext) + { + // calcolo prossima esecuzione... + currRec.DtNextExec = CalcNextExe(currRec); + } // segno modificato dbCtx.Entry(currRec).State = EntityState.Modified; diff --git a/MP.Stats/Components/TaskExeList.razor.cs b/MP.Stats/Components/TaskExeList.razor.cs index a03381fa..ca28f3fa 100644 --- a/MP.Stats/Components/TaskExeList.razor.cs +++ b/MP.Stats/Components/TaskExeList.razor.cs @@ -30,7 +30,19 @@ namespace MP.Stats.Components /// /// Show error mode: 0 = tutti 1 = solo errori 2 = solo ok /// - protected int ShowErrorMode { get; set; } = 0; + protected int ShowErrorMode + { + get => showErrorMode; + set + { + if (showErrorMode != value) + { + showErrorMode = value; + var pUpd = Task.Run(async () => await ReloadData()); + pUpd.Wait(); + } + } + } [Inject] protected MpStatsService StatService { get; set; } @@ -70,8 +82,8 @@ namespace MP.Stats.Components #region Private Properties private int currPage { get; set; } = 1; - private int numRecord { get; set; } = 10; + private int showErrorMode { get; set; } = 0; #endregion Private Properties @@ -80,6 +92,18 @@ namespace MP.Stats.Components private async Task ReloadData() { SearchRecords = await StatService.TaskExecGetFilt(CurrRecord.TaskId, 1000, ""); + // se non tutti filtro... + if (ShowErrorMode != 0) + { + if (ShowErrorMode == 1) + { + SearchRecords = SearchRecords.FindAll(x => x.IsError); + } + else if (ShowErrorMode == 2) + { + SearchRecords = SearchRecords.FindAll(x => !x.IsError); + } + } totalCount = SearchRecords.Count; ListRecords = SearchRecords.Skip(numRecord * (currPage - 1)).Take(numRecord).ToList(); } diff --git a/MP.Stats/Controllers/TaskController.cs b/MP.Stats/Controllers/TaskController.cs index f5346a13..efa3b047 100644 --- a/MP.Stats/Controllers/TaskController.cs +++ b/MP.Stats/Controllers/TaskController.cs @@ -49,7 +49,7 @@ namespace MP.Stats.Controllers var task2exe = listTask.Where(x => x.DtNextExec <= adesso).ToList(); foreach (var taskRec in task2exe) { - TaskResultModel result = await DService.ExecuteTask(taskRec.TaskId); + TaskResultModel result = await DService.ExecuteTask(taskRec.TaskId, true); answ.Add(result); } // resituisco diff --git a/MP.Stats/Data/MpStatsService.cs b/MP.Stats/Data/MpStatsService.cs index db21582b..36bbd02f 100644 --- a/MP.Stats/Data/MpStatsService.cs +++ b/MP.Stats/Data/MpStatsService.cs @@ -166,10 +166,11 @@ namespace MP.Stats.Data /// Chiamata esecuzione di un singolo task programmato /// /// + /// Se true rischedula successiva chiamata /// - public async Task ExecuteTask(int TaskId) + public async Task ExecuteTask(int TaskId, bool SchedNext) { - TaskResultModel dbResult = dbController.ExecuteTask(TaskId); + TaskResultModel dbResult = dbController.ExecuteTask(TaskId, SchedNext); // svuoto cache! await FlushCache("Task"); return await Task.FromResult(dbResult); diff --git a/MP.Stats/MP.Stats.csproj b/MP.Stats/MP.Stats.csproj index ddefe7ea..db9d32d6 100644 --- a/MP.Stats/MP.Stats.csproj +++ b/MP.Stats/MP.Stats.csproj @@ -4,8 +4,8 @@ net6.0 MP.Stats 826e877c-ba70-4253-84cb-d0b1cafd4440 - 6.16.2404.0312 - 6.16.2404.0312 + 6.16.2404.0510 + 6.16.2404.0510 true $(NoWarn);1591 diff --git a/MP.Stats/Pages/TaskScheduler.razor b/MP.Stats/Pages/TaskScheduler.razor index 91c74492..31bacd0a 100644 --- a/MP.Stats/Pages/TaskScheduler.razor +++ b/MP.Stats/Pages/TaskScheduler.razor @@ -59,16 +59,16 @@ Task Tipo Command - Schedulazione + Sched. @if (detRecord == null) { Last Next Result + + + } - - - @@ -76,33 +76,43 @@ { - - @if (currRecord == null) + + @if (detRecord == null) { - - } - else - { - + @if (currRecord == null) + { + + + } + else + { + + } } - @if (record.Ordinal == minOrdinal) + @if (detRecord == null) { - - } - else - { - + @if (record.Ordinal == minOrdinal) + { + + } + else + { + + } } @record.Ordinal - @if (record.Ordinal == maxOrdinal) + @if (detRecord == null) { - - } - else - { - + @if (record.Ordinal == maxOrdinal) + { + + } + else + { + + } } @@ -114,7 +124,7 @@
@record.Command
-
@record.Args
+
@record.Args
@record.Freq × @record.Cad @if (detRecord == null) @@ -130,10 +140,10 @@ + + + } - - - } diff --git a/MP.Stats/Pages/TaskScheduler.razor.cs b/MP.Stats/Pages/TaskScheduler.razor.cs index ef0fee1c..dfe076bf 100644 --- a/MP.Stats/Pages/TaskScheduler.razor.cs +++ b/MP.Stats/Pages/TaskScheduler.razor.cs @@ -134,6 +134,30 @@ namespace MP.Stats.Pages await ReloadData(); } + protected async Task doClone(TaskListModel selRec) + { + if (!await JSRuntime.InvokeAsync("confirm", $"Confermi di voler duplicare il record selezionato?")) + return; + currRecord = new TaskListModel() + { + Args = selRec.Args, + Name = $"Copia di {selRec.Name}", + Cad = selRec.Cad, + Command = selRec.Command, + Descript = $"Copia di {selRec.Descript}", + DtNextExec = DateTime.Today.AddDays(1), + DtLastExec = DateTime.MinValue, + Freq = selRec.Freq, + LastDuration = 0, + LastIsError = false, + LastResult = "", + TType = selRec.TType, + Ordinal = SearchRecords.Count + 1, + }; + await ReloadData(); + } + + protected async Task doMove(TaskListModel currRec, bool goUp) { await StatService.TaskListMove(currRec, goUp); @@ -170,7 +194,7 @@ namespace MP.Stats.Pages await Task.Delay(100); await advStep(currStep++); // chiama esecuzione task - var result = await StatService.ExecuteTask(selRec.TaskId); + var result = await StatService.ExecuteTask(selRec.TaskId, false); await advStep(currStep++); isLoading = false; await Task.Delay(100); @@ -198,7 +222,7 @@ namespace MP.Stats.Pages await Task.Delay(100); foreach (var taskRec in SearchRecords) { - var result = await StatService.ExecuteTask(taskRec.TaskId); + var result = await StatService.ExecuteTask(taskRec.TaskId, false); } isLoading = false; await Task.Delay(100); diff --git a/MP.Stats/Resources/ChangeLog.html b/MP.Stats/Resources/ChangeLog.html index 47f63535..ae62c63d 100644 --- a/MP.Stats/Resources/ChangeLog.html +++ b/MP.Stats/Resources/ChangeLog.html @@ -1,6 +1,6 @@ Modulo statistiche MAPO -

Versione: 6.16.2404.0312

+

Versione: 6.16.2404.0510


Note di rilascio:
    diff --git a/MP.Stats/Resources/VersNum.txt b/MP.Stats/Resources/VersNum.txt index 24e13bee..58cd5a92 100644 --- a/MP.Stats/Resources/VersNum.txt +++ b/MP.Stats/Resources/VersNum.txt @@ -1 +1 @@ -6.16.2404.0312 +6.16.2404.0510 diff --git a/MP.Stats/Resources/manifest.xml b/MP.Stats/Resources/manifest.xml index 7eb2f4f1..e51f8a4b 100644 --- a/MP.Stats/Resources/manifest.xml +++ b/MP.Stats/Resources/manifest.xml @@ -1,6 +1,6 @@ - 6.16.2404.0312 + 6.16.2404.0510 https://nexus.steamware.net/repository/SWS/MP-STATS/stable/LAST/MP.Stats.zip https://nexus.steamware.net/repository/SWS/MP-STATS/stable/LAST/ChangeLog.html false