Ancora update display post ricalcolo

This commit is contained in:
Samuele Locatelli
2025-04-02 12:42:59 +02:00
parent 583df34487
commit 2f900e9d9c
+30 -9
View File
@@ -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<InsManualiModel> myListDay = new List<InsManualiModel>();
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;
}