From 2f900e9d9c0a030611a9db9fa569208db6f82ac7 Mon Sep 17 00:00:00 2001 From: Samuele Locatelli Date: Wed, 2 Apr 2025 12:42:59 +0200 Subject: [PATCH] Ancora update display post ricalcolo --- MP-TAB3/Components/InsManual.razor.cs | 39 ++++++++++++++++++++------- 1 file changed, 30 insertions(+), 9 deletions(-) diff --git a/MP-TAB3/Components/InsManual.razor.cs b/MP-TAB3/Components/InsManual.razor.cs index 6554b2c8..457e25e2 100644 --- a/MP-TAB3/Components/InsManual.razor.cs +++ b/MP-TAB3/Components/InsManual.razor.cs @@ -65,12 +65,13 @@ namespace MP_TAB3.Components await TabDServ.InsManUpsert(EditRecord); // rileggo i dati... ReloadData(); - if (!IsTimeInfoOk()) + if (!IsTimeInfoOk(dtCurr, false)) { int numChange = await DoRecalcDay(); } // rileggo i dati... ReloadData(); + RecalcDayData(dtCurr); //RecalcDayData(dtCurr); EditRecord = null; } @@ -91,8 +92,6 @@ namespace MP_TAB3.Components ReloadData(); RecalcDayData(dtCurr); } - //// chiudo! - //showDetail = false; } protected override async Task OnParametersSetAsync() @@ -228,16 +227,33 @@ namespace MP_TAB3.Components return numChange; } - private bool IsTimeInfoOk() + private bool IsTimeInfoOk(DateTime reqDate, bool reloadDay) { bool allOk = false; + List myListDay = new List(); if (ListDTO != null) { - var dayDto = ListDTO.FirstOrDefault(x => x.DataRif == dtCurr.Date); - if (dayDto != null && ListDay != null) + var dayDto = ListDTO.FirstOrDefault(x => x.DataRif == reqDate.Date); + if (dayDto != null && (ListDay != null || (reloadDay && ListPeriod != null))) { - var firstRec = ListDay.OrderBy(x => x.InizioStato).FirstOrDefault(); - var lastRec = ListDay.OrderByDescending(x => x.InizioStato).FirstOrDefault(); +#if false +#endif + if (reloadDay) + { + // calcolo eventi giorno + myListDay = ListPeriod + .Where(x => x.InizioStato.Date == reqDate) + .OrderBy(x => x.InizioStato) + .ThenBy(x => x.IdxInsMan) + .ToList(); + } + else + { + myListDay = ListDay; + } + + var firstRec = myListDay.OrderBy(x => x.InizioStato).FirstOrDefault(); + var lastRec = myListDay.OrderByDescending(x => x.InizioStato).FirstOrDefault(); var deltaMins = lastRec!.FineStato!.Value.Subtract(firstRec!.InizioStato).TotalMinutes; allOk = Math.Abs(deltaMins - (double)dayDto.MinProdTot) < 1; } @@ -277,7 +293,12 @@ namespace MP_TAB3.Components foreach (var item in ListDTO) { currCss = item.MinProdTot == 0 ? "" : cssOkLav; - if (item.DataRif == DateTime.Today) + // controllo minuti dichiarati... + if (IsTimeInfoOk(item.DataRif.Date, true)) + { + currCss = cssOkComm; + } + else if (item.DataRif == DateTime.Today) { currCss = cssToday; }