namespace WebDoorCreator.UI.Data { public class WDCUserService { #region Public Events public event Action EA_UserId = null!; public event Action EA_UserClaims = null!; public event Action EA_UserRole = null!; public event Action EA_UserCurrCompany = null!; public event Action EA_CurrLanguage = null!; #endregion Public Events #region Public Properties public Dictionary UserPref { get; set; } = new Dictionary(); public string userId { get => _userId; set { if (_userId != value) { _userId = value; reportUserId(); } } } public List? userClaims { get => _userClaims; set { if (_userClaims != value) { _userClaims = value; reportUserClaims(); } } } public string userRole { get => _userRole; set { if (_userRole != value) { _userRole = value; reportUserRole(); } } } public int userCurrComp { get => _userCurrComp; set { if (_userCurrComp != value) { _userCurrComp = value; reportUserCurrCompany(); } } } public string? currLanguage { get => _currLanguage; set { if (_currLanguage != value) { _currLanguage = value; reportCurrentLanguage(); } } } #endregion Public Properties #region Protected Methods protected void reportUserId() { if (EA_UserId != null) { EA_UserId?.Invoke(); } } protected void reportUserClaims() { if (EA_UserClaims != null) { EA_UserClaims?.Invoke(); } } protected void reportUserRole() { if (EA_UserRole != null) { EA_UserRole?.Invoke(); } } protected void reportUserCurrCompany() { if (EA_UserCurrCompany != null) { EA_UserCurrCompany?.Invoke(); } } protected void reportCurrentLanguage() { if (EA_CurrLanguage != null) { EA_CurrLanguage?.Invoke(); } } #endregion Protected Methods #region Private Properties private string _userId { get; set; } = ""; private List? _userClaims { get; set; } = null; private string _userRole { get; set; } = ""; private int _userCurrComp { get; set; } //= -1; private string? _currLanguage { get; set; } = null; #endregion Private Properties } }