diff --git a/WebDoorCreator.Data/User/UserData.cs b/WebDoorCreator.Data/User/UserData.cs index ab77b27..c6788c6 100644 --- a/WebDoorCreator.Data/User/UserData.cs +++ b/WebDoorCreator.Data/User/UserData.cs @@ -1,20 +1,17 @@ using Microsoft.AspNetCore.Identity; -using System; -using System.Collections.Generic; -using System.Linq; -using System.Text; -using System.Threading.Tasks; +using System.Security.Claims; namespace WebDoorCreator.Data.User { /// /// Classe generalizzaizone identity (user + roles + claims) x gestione semplificata in editing /// + [Serializable] public class UserData { #region Public Properties - public List Claims { get; set; } = new List(); + public List Claims { get; set; } = new List(); public IdentityUser Identity { get; set; } = null!; diff --git a/WebDoorCreator.UI/Pages/UserAdmin.razor b/WebDoorCreator.UI/Pages/UserAdmin.razor index ee69762..4c65473 100644 --- a/WebDoorCreator.UI/Pages/UserAdmin.razor +++ b/WebDoorCreator.UI/Pages/UserAdmin.razor @@ -101,6 +101,11 @@ else

User Administration

+
+ + + +
- @*ROLES*@
diff --git a/WebDoorCreator.UI/Pages/UserAdmin.razor.cs b/WebDoorCreator.UI/Pages/UserAdmin.razor.cs index 3b8109d..aceb423 100644 --- a/WebDoorCreator.UI/Pages/UserAdmin.razor.cs +++ b/WebDoorCreator.UI/Pages/UserAdmin.razor.cs @@ -3,6 +3,7 @@ using Microsoft.AspNetCore.Components; using Microsoft.AspNetCore.Components.Authorization; using Microsoft.AspNetCore.Identity; using Microsoft.JSInterop; +using System.Linq; using WebDoorCreator.Data.DbModels; using WebDoorCreator.Data.Services; using WebDoorCreator.Data.User; @@ -27,14 +28,31 @@ namespace WebDoorCreator.UI.Pages #region Public Properties - public string searchVal + protected string searchVal { - get + get => _searchVal; + set { - return AppMService.SearchVal; + if (value != _searchVal) + { + _searchVal = value; + var pUpd = Task.Run(async () => + { + await ReloadData(); + }); + pUpd.Wait(); + } } } + protected void resetSearch() + { + searchVal = ""; + } + + + private string _searchVal { get; set; } = ""; + #endregion Public Properties #region Public Methods @@ -125,7 +143,9 @@ namespace WebDoorCreator.UI.Pages public void Dispose() { - AppMService.EA_SearchUpdated -= OnSeachUpdated; +#if false + AppMService.EA_SearchUpdated -= OnSeachUpdated; +#endif } /// @@ -144,7 +164,10 @@ namespace WebDoorCreator.UI.Pages // filtro visualizzazione x Company, SE richeisto if (FiltCompany != "0") { - UsersAll = UsersAll.Where(x => ConvertClaim(x.Claims).Contains(FiltCompany)).ToList(); + System.Security.Claims.Claim cClaim = new System.Security.Claims.Claim("CompanyId", $"{FiltCompany}"); + UsersAll = UsersAll + .Where(x => x.Claims.Any(c => c.Type == "CompanyId" && c.Value == $"{FiltCompany}")) + .ToList(); } UsersList = UsersAll .Skip(numRecord * (currPage - 1)).Take(numRecord) @@ -179,8 +202,10 @@ namespace WebDoorCreator.UI.Pages [Inject] protected UserManager _UserManager { get; set; } = null!; +#if false [Inject] - protected MessageService AppMService { get; set; } = null!; + protected MessageService AppMService { get; set; } = null!; +#endif [Inject] protected AuthenticationStateProvider AuthenticationStateProvider { get; set; } = null!; @@ -225,8 +250,11 @@ namespace WebDoorCreator.UI.Pages protected override async Task OnInitializedAsync() { + searchVal = ""; +#if false AppMService.ShowSearch = true; - AppMService.EA_SearchUpdated += OnSeachUpdated; + AppMService.EA_SearchUpdated += OnSeachUpdated; +#endif // lettura dati await ReloadData(); #if false