diff --git a/GPW.CORE.UI/Components/DayHoriz.razor b/GPW.CORE.UI/Components/DayHoriz.razor
index 15bc396..d969526 100644
--- a/GPW.CORE.UI/Components/DayHoriz.razor
+++ b/GPW.CORE.UI/Components/DayHoriz.razor
@@ -1,5 +1,4 @@
-@using CORE.Data.DTO
-
+
@@ -31,16 +30,15 @@
{
NO data
}
- else if (DayDTO != null && DayDTO.ListRA != null)
+ else if (@DayDTO != null && @DayDTO.ListRA != null)
{
- @foreach (var item in DayDTO.ListRA)
+ @foreach (var item in ListRegAtt())
{
}
}
- @*
*@
}
@@ -58,66 +56,4 @@
-@code {
- [Parameter]
- public DailyDataDTO? DayDTO { get; set; }
-
- [Parameter]
- public int StartHour { get; set; }
-
- [Parameter]
- public int EndHour { get; set; }
-
- [Parameter]
- public bool IsTitle { get; set; } = false;
-
- private bool noData
- {
- get => DayDTO == null || DayDTO.ListRA == null || DayDTO.ListRA.Count == 0;
- }
-
- private string TotLav
- {
- get
- {
- TimeSpan tSpan = TimeSpan.Zero;
- double answ = 0;
- if (DayDTO != null && DayDTO.TimbrExpl != null && DayDTO.TimbrExpl.HLav != null)
- {
- answ = (double)DayDTO.TimbrExpl.HLav;
- tSpan = TimeSpan.FromHours(answ);
- }
- return $"{tSpan.Hours}h {tSpan.Minutes}'";
- }
- }
-
- private string TotComm
- {
- get
- {
- TimeSpan tSpan = TimeSpan.Zero;
- double answ = 0;
- if (DayDTO != null && DayDTO.ListRA != null)
- {
- answ = (double)DayDTO.ListRA.Sum(x => x.OreTot);
- tSpan = TimeSpan.FromHours(answ);
- }
- return $"{tSpan.Hours}h {tSpan.Minutes}'";
- }
- }
-
- private int periodo
- {
- get
- {
- int answ=1;
- if (DayDTO != null)
- {
- answ = EndHour - StartHour;
- }
- return answ;
- }
-
- }
-}
diff --git a/GPW.CORE.UI/Components/DayHoriz.razor.cs b/GPW.CORE.UI/Components/DayHoriz.razor.cs
new file mode 100644
index 0000000..f123dbb
--- /dev/null
+++ b/GPW.CORE.UI/Components/DayHoriz.razor.cs
@@ -0,0 +1,125 @@
+using System;
+using System.Collections.Generic;
+using System.Linq;
+using System.Threading.Tasks;
+using Microsoft.AspNetCore.Components;
+using System.Net.Http;
+using Microsoft.AspNetCore.Authorization;
+using Microsoft.AspNetCore.Components.Authorization;
+using Microsoft.AspNetCore.Components.Forms;
+using Microsoft.AspNetCore.Components.Routing;
+using Microsoft.AspNetCore.Components.Web;
+using Microsoft.AspNetCore.Components.Web.Virtualization;
+using Microsoft.JSInterop;
+using GPW.CORE.UI;
+using GPW.CORE.UI.Shared;
+using GPW.CORE.Data.DTO;
+
+namespace GPW.CORE.UI.Components
+{
+ public partial class DayHoriz
+ {
+ [Parameter]
+ public DailyDataDTO? DayDTO { get; set; }
+
+ [Parameter]
+ public int StartHour { get; set; }
+
+ [Parameter]
+ public int EndHour { get; set; }
+
+ [Parameter]
+ public bool IsTitle { get; set; } = false;
+ private bool noData { get => DayDTO == null || DayDTO.ListRA == null || DayDTO.ListRA.Count == 0; }
+
+ private string TotLav
+ {
+ get
+ {
+ TimeSpan tSpan = TimeSpan.Zero;
+ double answ = 0;
+ if (DayDTO != null && DayDTO.TimbrExpl != null && DayDTO.TimbrExpl.HLav != null)
+ {
+ answ = (double)DayDTO.TimbrExpl.HLav;
+ tSpan = TimeSpan.FromHours(answ);
+ }
+
+ return $"{tSpan.Hours}h {tSpan.Minutes}'";
+ }
+ }
+
+ private string TotComm
+ {
+ get
+ {
+ TimeSpan tSpan = TimeSpan.Zero;
+ double answ = 0;
+ if (DayDTO != null && DayDTO.ListRA != null)
+ {
+ answ = (double)DayDTO.ListRA.Sum(x => x.OreTot);
+ tSpan = TimeSpan.FromHours(answ);
+ }
+
+ return $"{tSpan.Hours}h {tSpan.Minutes}'";
+ }
+ }
+
+ private int periodo
+ {
+ get
+ {
+ int answ = 1;
+ if (DayDTO != null)
+ {
+ answ = EndHour - StartHour;
+ }
+
+ return answ;
+ }
+ }
+
+ 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)
+ {
+ // 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)
+ {
+ 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;
+ }
+ }
+}
\ No newline at end of file
diff --git a/GPW.CORE.UI/Components/RegAtt.razor b/GPW.CORE.UI/Components/RegAtt.razor
index 78f566a..2873726 100644
--- a/GPW.CORE.UI/Components/RegAtt.razor
+++ b/GPW.CORE.UI/Components/RegAtt.razor
@@ -1,9 +1,19 @@
@using CORE.Data.DbModels
-
-
@CurrData.Inizio
-
@CurrData.Fine
+
+
+ @if (@CurrData.IdxFase > 0)
+ {
+
+ @widthPerc
+
+
+
@CurrData.Inizio.ToString("HH:mm")
+
@CurrData.Fine.ToString("HH:mm")
+
+ }
+
@@ -22,9 +32,19 @@
string answ = "1%";
if (CurrData != null)
{
- answ = $"{CurrData.OreTot/Periodo:P0}";
+ answ = $"{CurrData.OreTot / Periodo:P0}";
}
return answ;
}
}
+
+ private string blockCss
+ {
+ get
+ {
+ string answ = CurrData.IdxFase == 0 ? "" : "table-info border border-info rounded";
+
+ return answ;
+ }
+ }
}
diff --git a/GPW.CORE.UI/Pages/Planner.razor b/GPW.CORE.UI/Pages/Planner.razor
index 4d3d4db..2de5e13 100644
--- a/GPW.CORE.UI/Pages/Planner.razor
+++ b/GPW.CORE.UI/Pages/Planner.razor
@@ -61,7 +61,7 @@
-
+ @*
@@ -88,13 +88,12 @@
- @* | *@
}
-
+
*@
}