Files
lux/Lux.UI/Components/Pages/ProdPlanner.razor.cs
T
2026-06-22 17:35:05 +02:00

74 lines
2.1 KiB
C#

using EgwCoreLib.Lux.Core.Generic;
namespace Lux.UI.Components.Pages
{
public partial class ProdPlanner
{
#region Protected Methods
protected override void OnParametersSet()
{
// preparo sel periodo custom (traduzioni)...
CustomSelDict = Enum.GetValues(typeof(DtUtils.PeriodSet))
.Cast<DtUtils.PeriodSet>()
.ToDictionary(e => e, e => Traduci("periodo_" + e.ToString()));
}
#endregion Protected Methods
#region Private Fields
/// <summary>
/// Periodo selezionato attuale
/// </summary>
private DtUtils.Periodo PeriodoSel = new DtUtils.Periodo(DtUtils.PeriodSet.ThisYear);
/// <summary>
/// Periodo custom selezione valori
/// </summary>
private Dictionary<DtUtils.PeriodSet, string>? CustomSelDict = new();
#endregion Private Fields
#region Private Properties
[Inject]
private IDataLayerServices DLService { get; set; } = null!;
private List<EventDto> ListEventi { get; set; } = new();
#endregion Private Properties
#region Private Methods
/// <summary>
/// Legge i dati dei record completi
/// </summary>
private async Task ReloadDataAsync()
{
var rawData = await DLService.PlannerGetEventsAsync(PeriodoSel.Inizio, PeriodoSel.Fine);
if (rawData != null && rawData.Count > 0)
{
ListEventi.Clear();
// x ora copio i vari blocchi...
foreach (var item in rawData)
{
ListEventi.AddRange(item.Value);
}
}
}
/// <summary>
/// Imposta periodo da filtro
/// </summary>
/// <param name="newPeriod"></param>
/// <returns></returns>
private Task SetPeriodo(EgwCoreLib.Utils.DtUtils.Periodo newPeriod)
{
PeriodoSel = newPeriod;
return ReloadDataAsync();
}
#endregion Private Methods
}
}