using LiMan.UI.Data; using Microsoft.AspNetCore.Components; using System; using System.Collections.Generic; using System.Linq; using System.Threading.Tasks; namespace LiMan.UI.Shared { public partial class NavMenu : IDisposable { #region Public Methods public void Dispose() { AppMService.EA_UserNameUpd -= AppMessages_EA_UserNameUpd; } #endregion Public Methods #region Protected Properties [Inject] protected MessageService AppMService { get; set; } = null!; [Inject] protected LiManDataService DataService { get; set; } = null!; #endregion Protected Properties #region Protected Methods protected override void OnInitialized() { AppMService.EA_UserNameUpd += AppMessages_EA_UserNameUpd; } protected bool UserHasClaim(string ruolo) { return DataService.UserHasClaim(userName, ruolo); } #endregion Protected Methods #region Private Fields private bool collapseNavMenu = true; private string userName = ""; #endregion Private Fields #region Private Properties private string NavMenuCssClass => collapseNavMenu ? "collapse" : null; private List UserClaims { get; set; } = new List(); #endregion Private Properties #region Private Methods private void AppMessages_EA_UserNameUpd() { userName = AppMService.UserName; } private void ToggleNavMenu() { collapseNavMenu = !collapseNavMenu; } #endregion Private Methods } }