using EgwCoreLib.Razor.Data; using GPW.CORE.Smart.Data; using Microsoft.AspNetCore.Components; namespace GPW.CORE.Smart.Components.Pages { public partial class ForceReset : IDisposable { #region Public Methods public void Dispose() { GC.Collect(); } #endregion Public Methods #region Protected Fields protected string message = "Resetting Cache!"; #endregion Protected Fields #region Protected Properties protected string baseUrl { get => configuration.GetValue("OptConf:BaseUrl") ?? "~/"; } [Inject] protected CoreSmartDataService CDService { get; set; } = null!; [Inject] protected IConfiguration configuration { get; set; } = null!; [Inject] protected MessageService MService { get; set; } = null!; [Inject] protected NavigationManager NavManager { get; set; } = null!; #endregion Protected Properties #region Protected Methods protected override async Task OnAfterRenderAsync(bool firstRender) { await doReset(); } protected override async Task OnInitializedAsync() { await doReset(); } #endregion Protected Methods #region Private Methods private async Task doReset() { await CDService.FlushRedisCache(); MService.clonedRA = null; MService.recordRA = null; message = "Reset done!"; // attendo 5 msec await Task.Delay(5); string nextPage = QHelper.GetQueryParm(NavManager.Uri, "nextPage"); // se ho una next page rimando li... string tgtUrl = nextPage ?? "Home"; // passo a pagina home NavManager.NavigateTo($"{baseUrl}/{tgtUrl}"); } #endregion Private Methods } }