diff --git a/GPW.CORE.UI/Components/WeekSelector.razor b/GPW.CORE.UI/Components/WeekSelector.razor new file mode 100644 index 0000000..3b3de52 --- /dev/null +++ b/GPW.CORE.UI/Components/WeekSelector.razor @@ -0,0 +1,75 @@ +@using CORE.Data.DbModels +@using UI.Data + +@inject MessageService AppMServ + +
+
+
+
+

Selezione Data Riferimento

+
+
+ Selezionare la data desiderata +
+
+
+
+
+
+
+
+ Data Target +
+ +
+
+
+ +
+
+ +
+
+
+
+@code { + + [Parameter] + public EventCallback CloseReq { get; set; } + + + [Parameter] + public EventCallback WeekSelected { get; set; } + + //private int Anno = DateTime.Today.Year; + //private int Week = 1; + + /// + /// Indico item selezionato + /// + protected async void DoClose() + { + await CloseReq.InvokeAsync(true); + } + + /// + /// Indico item selezionato + /// + protected async void DoSelection() + { + await WeekSelected.InvokeAsync(true); + } + + protected DateTime TargetDate + { + get + { + return AppMServ.targetDate; + } + set + { + AppMServ.targetDate = value; + } + } +} diff --git a/GPW.CORE.UI/Data/MessageService.cs b/GPW.CORE.UI/Data/MessageService.cs index 14396b4..80d26d1 100644 --- a/GPW.CORE.UI/Data/MessageService.cs +++ b/GPW.CORE.UI/Data/MessageService.cs @@ -1,4 +1,5 @@ -using GPW.CORE.Data.DbModels; +using GPW.CORE.Data; +using GPW.CORE.Data.DbModels; namespace GPW.CORE.UI.Data { @@ -135,6 +136,13 @@ namespace GPW.CORE.UI.Data public RegAttivitaModel? recordRA { get; set; } = null; public RegAttivitaModel? clonedRA { get; set; } = null; + + public int selWeekNum { get; set; } = 0; + public int selYear { get; set; } = DateTime.Today.Year; + + public DateTime targetDate { get; set; } = DateTime.Today; + + #endregion Public Properties #region Private Methods diff --git a/GPW.CORE.UI/Pages/Planner.razor b/GPW.CORE.UI/Pages/Planner.razor index bc06a3c..e96db16 100644 --- a/GPW.CORE.UI/Pages/Planner.razor +++ b/GPW.CORE.UI/Pages/Planner.razor @@ -1,7 +1,17 @@ @page "/Planner" @using GPW.CORE.UI.Components -@if (currRecord != null) +@if (selPeriod) +{ + + + +} +else if (currRecord != null) {
+
@currWeekSel.fine.ToString("ddd dd.MM") diff --git a/GPW.CORE.UI/Pages/Planner.razor.cs b/GPW.CORE.UI/Pages/Planner.razor.cs index 07af869..84fe6ed 100644 --- a/GPW.CORE.UI/Pages/Planner.razor.cs +++ b/GPW.CORE.UI/Pages/Planner.razor.cs @@ -31,6 +31,8 @@ namespace GPW.CORE.UI.Pages private int _endHour = 21; private int _startHour = 7; + private bool selPeriod = false; + private RegAttivitaModel currRecord = null; private List ListTimbr = null; @@ -106,46 +108,6 @@ namespace GPW.CORE.UI.Pages } } - private int SelPlantId - { - get => _selPlantId; - set - { - if (_selPlantId != value) - { - _selPlantId = value; - var pUpd = Task.Run(async () => await ReloadData()); - pUpd.Wait(); - } - } - } - - private int SelSupplierId - { - get => _selSuppId; - set - { - if (_selSuppId != value) - { - _selSuppId = value; - checkHourRange(); - } - } - } - - private int SelTransporterId - { - get => _selTraspId; - set - { - if (_selTraspId != value) - { - _selTraspId = value; - checkHourRange(); - } - } - } - private int startHour { get => _startHour; @@ -200,8 +162,32 @@ namespace GPW.CORE.UI.Pages } } +#if false protected int currWeekNum { get; set; } = 0; - protected int currYear { get; set; } = DateTime.Today.Year; + protected int currYear { get; set; } = DateTime.Today.Year; +#endif + protected int currWeekNum + { + get + { + return AppMServ.selWeekNum; + } + set + { + AppMServ.selWeekNum = value; + } + } + protected int currYear + { + get + { + return AppMServ.selYear; + } + set + { + AppMServ.selYear = value; + } + } protected async Task setWeekNumber(WeekData wData) { @@ -247,10 +233,31 @@ namespace GPW.CORE.UI.Pages } } - private async Task InitData() + protected DateTime TargetDate + { + get + { + return AppMServ.targetDate; + } + set + { + AppMServ.targetDate = value; + } + } + + /// + /// Reinit dei dati + /// + /// + /// + private async Task InitData(bool dateReset) { isLoading = true; - weekStatList = await DataService.LastWeeks(IdxDipendente, DateTime.Today, 4); + if (dateReset) + { + TargetDate = DateTime.Today; + } + weekStatList = await DataService.LastWeeks(IdxDipendente, TargetDate, 4); currWeekNum = weekStatList.Last().WeekNumber; isLoading = false; } @@ -267,7 +274,7 @@ namespace GPW.CORE.UI.Pages protected override async Task OnInitializedAsync() { - await InitData(); + await InitData(true); await ReloadAllData(); } @@ -280,10 +287,35 @@ namespace GPW.CORE.UI.Pages { currRecord = null; ListTimbr = null; - await InitData(); + await InitData(true); await ReloadData(); } + + protected async Task ReloadPeriodo() + { + selPeriod = false; + currRecord = null; + ListTimbr = null; + await InitData(false); + await ReloadData(); + } + + protected async Task ResetSelPeriodo() + { + selPeriod = false; + currRecord = null; + ListTimbr = null; + await InitData(true); + await ReloadData(); + } + + protected async Task ShowSelPeriodo() + { + selPeriod = true; + } + + protected async Task UpdRegAttData() { currRecord = null;