using Microsoft.AspNetCore.Components; using MP.Data.DatabaseModels; using MP.SPEC.Components; using MP.SPEC.Data; namespace MP.SPEC.Pages { public partial class PARAMS { #region Protected Fields protected DataPager? pagerODL = null!; #endregion Protected Fields #region Protected Properties #endregion Protected Properties #region Protected Methods protected void ForceReload(int newNum) { numRecord = newNum; } protected void ForceReloadPage(int newNum) { currPage = newNum; DateTime adesso = DateTime.Now.AddSeconds(1); var updFilter = currFilter; //updFilter.LiveUpdate = (currPage == 1); updFilter.LiveUpdate = (currFilter.CurrPage == 1); updFilter.lastUpdate = updFilter.LiveUpdate ? "-" : $"{adesso:yyyy/MM/dd HH:mm:ss}"; // salvo filtro currFilter = updFilter; StateHasChanged(); } protected override async Task OnInitializedAsync() { isLoading = true; isFiltering = true; // fix pagina await Task.Delay(1); var modFilter = currFilter; modFilter.CurrPage = 1; modFilter.LiveUpdate = (currPage == 1); currFilter = modFilter; await Task.Delay(1); isFiltering = false; } protected async Task pgResetReq(bool doReset) { if (doReset) { await Task.Delay(1); if (pagerODL != null) { pagerODL.resetCurrPage(); } } } protected void updateTotal(int newTotCount) { totalCount = newTotCount; } protected async Task detailSel(FluxLog newRec) { await Task.Delay(1); var updFilter = currFilter; DateTime adesso = DateTime.Now.AddSeconds(1); updFilter.LiveUpdate = (newRec == null); // sistemo la data di riferimento x eventuale snapshot nel passato updFilter.dtRif = newRec != null ? newRec.dtEvento : null; if (newRec != null) { updFilter.lastUpdate = updFilter.lastUpdate == "-" ? $"{adesso:yyyy/MM/dd HH:mm:ss}" : updFilter.lastUpdate; updFilter.IdxMacchina = newRec.IdxMacchina; //updFilter.CodFlux = newRec.CodFlux; } else { updFilter.lastUpdate = "-"; } // salvo filtro currFilter = updFilter; } #endregion Protected Methods #region Private Properties private SelectFluxParams currFilter { get; set; } = new SelectFluxParams(); private int currPage { get => currFilter.CurrPage; set => currFilter.CurrPage = value; } private bool isFiltering { get; set; } = false; private bool isLoading { get; set; } = true; private int numRecord { get => currFilter.NumRec; set => currFilter.NumRec = value; } private int totalCount { get; set; } = 0; #endregion Private Properties #region Private Methods private async Task updateFilter(SelectFluxParams newParams) { isFiltering = false; isLoading = true; await Task.Delay(1); currPage = 1; if (newParams.CurrPage == 0) { newParams.CurrPage = 1; //newParams.LiveUpdate = false; } else { //newParams.LiveUpdate = (currPage == 1); } await Task.Delay(1); await InvokeAsync(() => StateHasChanged()); currFilter = newParams; isLoading = false; } protected void UpdateTotCount(int newTotCount) { totalCount = newTotCount; } #endregion Private Methods } }