From ff8a47df96759b1c962fa4c9d42e2ddba4fab894 Mon Sep 17 00:00:00 2001 From: Samuele Locatelli Date: Mon, 31 Jan 2022 08:44:32 +0100 Subject: [PATCH] Ancora pulizia codice da campi nullable --- GPW.CORE.WRKLOG/Components/DayHoriz.razor.cs | 62 ++++++++-------- GPW.CORE.WRKLOG/Components/PeriodoLav.razor | 2 +- GPW.CORE.WRKLOG/Components/RecFaseStart.razor | 2 +- .../Components/TimbrEditor.razor.cs | 21 ++++-- GPW.CORE.WRKLOG/Data/GpwDataService.cs | 6 +- GPW.CORE.WRKLOG/Pages/FastRec.razor | 71 +++++++++++-------- 6 files changed, 99 insertions(+), 65 deletions(-) diff --git a/GPW.CORE.WRKLOG/Components/DayHoriz.razor.cs b/GPW.CORE.WRKLOG/Components/DayHoriz.razor.cs index 98393b9..e171f9e 100644 --- a/GPW.CORE.WRKLOG/Components/DayHoriz.razor.cs +++ b/GPW.CORE.WRKLOG/Components/DayHoriz.razor.cs @@ -243,45 +243,51 @@ namespace GPW.CORE.WRKLOG.Components #region Private Methods - private List ListRegAtt() + private List ListRegAtt() { // init - DateTime currHour = DayDTO.DtRif.AddHours(StartHour); - DateTime lastHour = DayDTO.DtRif.AddHours(EndHour); - List result = new List(); - // ciclo partendo dal primo evento ed aggiungendo eventuali periodi in testa / coda / intermedi - foreach (var item in DayDTO.ListRA) + List result = new List(); + if (DayDTO != null) { - // se evento > ora corrente --> aggiungo vuoto... - if (item.Inizio > currHour) + DateTime currHour = DayDTO.DtRif.AddHours(StartHour); + DateTime lastHour = DayDTO.DtRif.AddHours(EndHour); + // ciclo partendo dal primo evento ed aggiungendo eventuali periodi in testa / coda / intermedi + if (DayDTO.ListRA != null) { - CORE.Data.DbModels.RegAttivitaModel? newItem = new CORE.Data.DbModels.RegAttivitaModel() + foreach (var item in DayDTO.ListRA) + { + // se evento > ora corrente --> aggiungo vuoto... + if (item.Inizio > currHour) + { + CORE.Data.DbModels.RegAttivitaModel? newItem = new CORE.Data.DbModels.RegAttivitaModel() + { + Inizio = currHour, + IdxFase = 0, + Descrizione = "-", + Fine = item.Inizio, + OreTot = (decimal)item.Inizio.Subtract(currHour).TotalHours + }; + result.Add(newItem); + } + + // ...altrimenti parto con lui... + result.Add(item); + currHour = item.Fine; + } + } + // se non sono in fondo --> aggiungo! + if (currHour < lastHour) + { + RegAttivitaModel? newItem = new RegAttivitaModel() { Inizio = currHour, IdxFase = 0, Descrizione = "-", - Fine = item.Inizio, - OreTot = (decimal)item.Inizio.Subtract(currHour).TotalHours + Fine = lastHour, + OreTot = (decimal)lastHour.Subtract(currHour).TotalHours }; result.Add(newItem); } - - // ...altrimenti parto con lui... - result.Add(item); - currHour = item.Fine; - } - // se non sono in fondo --> aggiungo! - if (currHour < lastHour) - { - CORE.Data.DbModels.RegAttivitaModel? newItem = new CORE.Data.DbModels.RegAttivitaModel() - { - Inizio = currHour, - IdxFase = 0, - Descrizione = "-", - Fine = lastHour, - OreTot = (decimal)lastHour.Subtract(currHour).TotalHours - }; - result.Add(newItem); } return result; diff --git a/GPW.CORE.WRKLOG/Components/PeriodoLav.razor b/GPW.CORE.WRKLOG/Components/PeriodoLav.razor index bc80ad9..dc90767 100644 --- a/GPW.CORE.WRKLOG/Components/PeriodoLav.razor +++ b/GPW.CORE.WRKLOG/Components/PeriodoLav.razor @@ -13,7 +13,7 @@
@CurrPeriodo.Inizio.ToString("HH:mm")
- @if (CurrPeriodo.IsClosed) + @if (CurrPeriodo.IsClosed && CurrPeriodo.OreTot != null) { @if ((double)CurrPeriodo.OreTot >= 1.25) { diff --git a/GPW.CORE.WRKLOG/Components/RecFaseStart.razor b/GPW.CORE.WRKLOG/Components/RecFaseStart.razor index 795d08b..cc34d11 100644 --- a/GPW.CORE.WRKLOG/Components/RecFaseStart.razor +++ b/GPW.CORE.WRKLOG/Components/RecFaseStart.razor @@ -185,7 +185,7 @@ else bool answ = !VetoProj; if (CalcOreFasi != null) { - if (!(bool)CalcOreFasi.Attivo) + if (CalcOreFasi.Attivo!=null && !(bool)CalcOreFasi.Attivo) { if (VetoInsert) { diff --git a/GPW.CORE.WRKLOG/Components/TimbrEditor.razor.cs b/GPW.CORE.WRKLOG/Components/TimbrEditor.razor.cs index b09670e..662e14c 100644 --- a/GPW.CORE.WRKLOG/Components/TimbrEditor.razor.cs +++ b/GPW.CORE.WRKLOG/Components/TimbrEditor.razor.cs @@ -30,7 +30,7 @@ namespace GPW.CORE.WRKLOG.Components [Inject] - protected GpwDataService GDataServ { get; set; } + protected GpwDataService GDataServ { get; set; } = null!; protected bool IsUscita { get; set; } = false; @@ -107,6 +107,10 @@ namespace GPW.CORE.WRKLOG.Components // aggiungo alla lista... ListTimb.Add(currRecord); + if (ListTimbRich == null) + { + ListTimbRich = new List(); + } ListTimbRich.Add(currRecord); @@ -137,14 +141,19 @@ namespace GPW.CORE.WRKLOG.Components // elimino dalla lista... ListTimb.Remove(currRecord); - if (ListTimbAppr.Contains(currRecord)) + if (ListTimbAppr != null) { - ListTimbAppr.Remove(currRecord); + if (ListTimbAppr.Contains(currRecord)) + { + ListTimbAppr.Remove(currRecord); + } } - - if (ListTimbRich.Contains(currRecord)) + if (ListTimbRich != null) { - ListTimbRich.Remove(currRecord); + if (ListTimbRich.Contains(currRecord)) + { + ListTimbRich.Remove(currRecord); + } } // aggiorno diff --git a/GPW.CORE.WRKLOG/Data/GpwDataService.cs b/GPW.CORE.WRKLOG/Data/GpwDataService.cs index 1bac34c..e65a04d 100644 --- a/GPW.CORE.WRKLOG/Data/GpwDataService.cs +++ b/GPW.CORE.WRKLOG/Data/GpwDataService.cs @@ -383,7 +383,11 @@ namespace GPW.CORE.WRKLOG.Data var rawData = await AnagProjAll(); if (rawData != null) { - dbResult = rawData.FirstOrDefault(x => x.IdxProgetto == idxProj); + var foundData = rawData.Where(x => x.IdxProgetto == idxProj).FirstOrDefault(); + if (foundData != null) + { + dbResult = foundData; + } } return await Task.FromResult(dbResult); diff --git a/GPW.CORE.WRKLOG/Pages/FastRec.razor b/GPW.CORE.WRKLOG/Pages/FastRec.razor index 80185b4..aa7979c 100644 --- a/GPW.CORE.WRKLOG/Pages/FastRec.razor +++ b/GPW.CORE.WRKLOG/Pages/FastRec.razor @@ -116,8 +116,8 @@ { isLoading = true; DateTime oggi = DateTime.Today; - var rawData=await GDataServ.DailyDetails(idxDipendente, oggi, oggi.AddDays(1)); - ListRecords = rawData.Where(x=> x.DtRif==oggi).ToList(); + var rawData = await GDataServ.DailyDetails(idxDipendente, oggi, oggi.AddDays(1)); + ListRecords = rawData.Where(x => x.DtRif == oggi).ToList(); await Task.Delay(100); checkHourRange(); await Task.Delay(100); @@ -139,46 +139,61 @@ // per ogni giornata foreach (var giornata in ListRecords) { - var minRecTimb = giornata.ListTimbr - .Where(x => x.Entrata == true) - .OrderBy(x => x.DataOra) - .FirstOrDefault(); - if (minRecTimb != null) + if (giornata.ListTimbr != null) { - if (minHour > minRecTimb.DataOra.AddMinutes(-roundMin).Hour) + var minRecTimb = giornata.ListTimbr + .Where(x => x.Entrata == true) + .OrderBy(x => x.DataOra) + .FirstOrDefault(); + if (minRecTimb != null) { - minHour = minRecTimb.DataOra.AddMinutes(-roundMin).Hour; + if (minHour > minRecTimb.DataOra.AddMinutes(-roundMin).Hour) + { + minHour = minRecTimb.DataOra.AddMinutes(-roundMin).Hour; + } } } - var minRecRa = giornata.ListRA - .OrderBy(x => x.Inizio) - .FirstOrDefault(); - if (minRecRa != null) + + if (giornata.ListRA != null) { - if (minHour > minRecRa.Inizio.AddMinutes(-roundMin).Hour) + var minRecRa = giornata.ListRA + .OrderBy(x => x.Inizio) + .FirstOrDefault(); + if (minRecRa != null) { - minHour = minRecRa.Inizio.AddMinutes(-roundMin).Hour; + if (minHour > minRecRa.Inizio.AddMinutes(-roundMin).Hour) + { + minHour = minRecRa.Inizio.AddMinutes(-roundMin).Hour; + } } } - var maxRecTimb = giornata.ListTimbr - .Where(x => x.Entrata == false) - .OrderByDescending(x => x.DataOra) - .FirstOrDefault(); - if (maxRecTimb != null) + + if (giornata.ListTimbr != null) { - if (maxHour < maxRecTimb.DataOra.AddMinutes(roundMin).Hour + 1) + var maxRecTimb = giornata.ListTimbr + .Where(x => x.Entrata == false) + .OrderByDescending(x => x.DataOra) + .FirstOrDefault(); + if (maxRecTimb != null) { - maxHour = maxRecTimb.DataOra.AddMinutes(roundMin).Hour + 1; + if (maxHour < maxRecTimb.DataOra.AddMinutes(roundMin).Hour + 1) + { + maxHour = maxRecTimb.DataOra.AddMinutes(roundMin).Hour + 1; + } } } - var maxRecRa = giornata.ListRA - .OrderByDescending(x => x.Fine) - .FirstOrDefault(); - if (maxRecRa != null) + + if (giornata.ListRA != null) { - if (maxHour < maxRecRa.Fine.AddMinutes(roundMin).Hour + 1) + var maxRecRa = giornata.ListRA + .OrderByDescending(x => x.Fine) + .FirstOrDefault(); + if (maxRecRa != null) { - maxHour = maxRecRa.Fine.AddMinutes(roundMin).Hour + 1; + if (maxHour < maxRecRa.Fine.AddMinutes(roundMin).Hour + 1) + { + maxHour = maxRecRa.Fine.AddMinutes(roundMin).Hour + 1; + } } } }