diff --git a/WebDoorCreator.UI/Components/Gen/NavMenuHorizontal.razor b/WebDoorCreator.UI/Components/Gen/NavMenuHorizontal.razor index 15cc1e5..d05cb93 100644 --- a/WebDoorCreator.UI/Components/Gen/NavMenuHorizontal.razor +++ b/WebDoorCreator.UI/Components/Gen/NavMenuHorizontal.razor @@ -73,7 +73,7 @@ { @if (compToShow != null) { -
@compToShow.CompanyName
+ } } } diff --git a/WebDoorCreator.UI/Components/Gen/NavMenuHorizontal.razor.cs b/WebDoorCreator.UI/Components/Gen/NavMenuHorizontal.razor.cs index 5a24807..7a154a4 100644 --- a/WebDoorCreator.UI/Components/Gen/NavMenuHorizontal.razor.cs +++ b/WebDoorCreator.UI/Components/Gen/NavMenuHorizontal.razor.cs @@ -22,6 +22,7 @@ namespace WebDoorCreator.UI.Components.Gen public EventCallback>> E_VocLemmas { get; set; } public List listCompanies { get; set; } = new List(); + protected List? userClaims { get; set; } = null; public List listRecord { get; set; } = new List(); @@ -195,7 +196,7 @@ namespace WebDoorCreator.UI.Components.Gen compToShow = listCompanies?.FirstOrDefault()!; } userCurrCompany = compToShow.CompanyId; - } + } protected override async Task OnInitializedAsync() { @@ -230,14 +231,15 @@ namespace WebDoorCreator.UI.Components.Gen { // reset preliminare listRecord = new List(); - listCompanies = new List(); + //listCompanies = new List(); if (!NavManager.Uri.Contains("UserAdmin")) { if (!string.IsNullOrEmpty(userId) && string.IsNullOrEmpty(userRole)) { // FARE!!! rivedere con await WDCUsrServ.UserDataGetById(userId); - + var user = await _userManager.FindByNameAsync(userId); +#if false var user = await _userManager.FindByNameAsync(userId); var roleList = await _userManager.GetRolesAsync(user); if (roleList != null) @@ -278,10 +280,35 @@ namespace WebDoorCreator.UI.Components.Gen } compToShow = listCompanies?.FirstOrDefault()!; } - } - fixSelCompany(); - userClaimsList = listRecord; + } + } +#endif + var obj = await WDCUService.UserDataGetById(user.Id); + if (obj != null) + { + userClaims = obj.Claims.ToList(); + if (userClaims != null) + { + if (obj.Roles.Contains("SuperAdmin")) + { + listCompanies = await WDCService.CompanyGetByKey(0); + } + else + { + foreach (var item in obj.Claims.ToList()) + { + List rawComp = await WDCService.CompanyGetByKey(int.Parse(item.Value)); + if (rawComp != null) + { + CompanyModel comp2Add = rawComp?.FirstOrDefault()!; + listCompanies.Add(comp2Add); + } + } + } + } } + fixSelCompany(); + userClaimsList = listRecord; } } }