namespace Lux.UI.Components.Pages { public partial class OffStats { protected override Task OnInitializedAsync() { return ReloadDataAsync(); } [Inject] private IJSRuntime JSRuntime { get; set; } = null!; [Inject] private IOfferService OffService { get; set; } = default!; [Inject] private NavigationManager NavigationManager { get; set; } = null!; private List AllOfferRecords { get; set; } = new(); private List WinOffRecords { get; set; } = new(); private bool needReload = false; private DtUtils.Periodo periodoLimit = new DtUtils.Periodo(DtUtils.PeriodSet.LastYear); ////private EgwCoreLib.Utils.DtUtils.Periodo periodoSel = new EgwCoreLib.Utils.DtUtils.Periodo(DateTime.Today.AddHours(DateTime.Now.Hour - 24 * 7), DateTime.Today.AddHours(DateTime.Now.Hour + 1)); private DtUtils.Periodo periodoSel = new DtUtils.Periodo(DateTime.Today.AddMonths(-5), DateTime.Today.AddHours(DateTime.Now.Hour + 1)); private string btnReload => needReload ? "btn-primary" : "btn-secondary"; private async Task ReloadDataAsync() { await OffService.CheckExpiredAsync(); AllOfferRecords = await OffService.GetFiltAsync(periodoSel.Inizio, periodoSel.Fine); WinOffRecords = AllOfferRecords.Where(x => x.Envir == EgwMultiEngineManager.Data.Constants.EXECENVIRONMENTS.WINDOW).ToList(); } /// /// Caricamento dati /// /// private Task DoReload() { return ReloadDataAsync(); } private DateTime dtFrom { get => periodoSel.Inizio; set { if (periodoSel.Inizio != value) { periodoSel.Inizio = value; needReload = true; } } } private DateTime dtTo { get => periodoSel.Fine; set { if (periodoSel.Fine != value) { periodoSel.Fine = value; needReload = true; } } } } }