using MP.MONO.Core.DTO; using MP.MONO.Data; using Newtonsoft.Json; namespace MP.MONO.UI.Components { public partial class MaintOverview : IDisposable { #region Public Methods public void Dispose() { MMDataService.alarmPipe.EA_NewMessage -= MaintPipe_EA_NewMessage; } #endregion Public Methods #region Protected Fields protected bool dataLoaded = false; #endregion Protected Fields #region Protected Methods protected override async Task OnInitializedAsync() { await ReloadData(); MMDataService.maintPipe.EA_NewMessage += MaintPipe_EA_NewMessage; } protected async Task ReloadData() { ListRecords = await MMDataService.getMaintenance(); } #endregion Protected Methods #region Private Properties private List? ListRecords { get; set; } = null; #endregion Private Properties #region Private Methods private void MaintPipe_EA_NewMessage(object? sender, EventArgs e) { PubSubEventArgs currArgs = (PubSubEventArgs)e; if (!string.IsNullOrEmpty(currArgs.newMessage)) { try { ListRecords = JsonConvert.DeserializeObject>(currArgs.newMessage); } catch { } } InvokeAsync(() => { StateHasChanged(); }); } #endregion Private Methods } }