modificati nomi cartelle componenti

+ aggiunto message service con lista claims per user
This commit is contained in:
zaccaria.majid
2023-03-20 10:32:39 +01:00
parent 35ca491b7a
commit e7ff9531a5
16 changed files with 175 additions and 29 deletions
@@ -3,7 +3,7 @@ using Microsoft.AspNetCore.Identity;
using Microsoft.JSInterop;
using WebDoorCreator.UI.Data;
namespace WebDoorCreator.UI.Components.BUTTONS
namespace WebDoorCreator.UI.Components.Buttons
{
public partial class ButtonAddRemDoor
{
@@ -13,9 +13,6 @@ namespace WebDoorCreator.UI.Components.BUTTONS
[Inject]
protected IJSRuntime JSRuntime { get; set; } = null!;
[Inject]
protected UserManager<IdentityUser> _userManager { get; set; } = null!;
[Inject]
protected NavigationManager NavManager { get; set; } = null!;
@@ -2,7 +2,7 @@ using Microsoft.AspNetCore.Components;
using WebDoorCreator.Data.DbModels;
using WebDoorCreator.UI.Data;
namespace WebDoorCreator.UI.Components.COMPMAN
namespace WebDoorCreator.UI.Components.CompMan
{
public partial class CompanyList
{
@@ -1,4 +1,4 @@
namespace WebDoorCreator.UI.Components
namespace WebDoorCreator.UI.Components.DoorDef
{
public partial class DoorPreview
{
@@ -2,7 +2,7 @@ using Microsoft.AspNetCore.Components;
using WebDoorCreator.Data.DbModels;
using WebDoorCreator.UI.Data;
namespace WebDoorCreator.UI.Components.DOORDEF
namespace WebDoorCreator.UI.Components.DoorDef
{
public partial class DoorSizingStep
{
@@ -1,4 +1,4 @@
namespace WebDoorCreator.UI.Components
namespace WebDoorCreator.UI.Components.DoorDef
{
public partial class StepsList
{
@@ -4,7 +4,7 @@ using Microsoft.JSInterop;
using WebDoorCreator.Data.DbModels;
using WebDoorCreator.UI.Data;
namespace WebDoorCreator.UI.Components.DOOR
namespace WebDoorCreator.UI.Components.DoorMan
{
public partial class DoorList
{
@@ -14,9 +14,6 @@ namespace WebDoorCreator.UI.Components.DOOR
[Inject]
protected IJSRuntime JSRuntime { get; set; } = null!;
[Inject]
protected UserManager<IdentityUser> _userManager { get; set; } = null!;
[Inject]
protected NavigationManager NavManager { get; set; } = null!;
@@ -1,6 +1,6 @@
using NLog;
namespace WebDoorCreator.UI.Components.GEN
namespace WebDoorCreator.UI.Components.Gen
{
public partial class CmpFooter : IDisposable
{
@@ -1,6 +1,78 @@
namespace WebDoorCreator.UI.Components
using Microsoft.AspNetCore.Components;
using Microsoft.AspNetCore.Components.Authorization;
using Microsoft.AspNetCore.Identity;
using Microsoft.JSInterop;
using WebDoorCreator.UI.Data;
namespace WebDoorCreator.UI.Components.Gen
{
public partial class NavMenuHorizontal
{
[Inject]
protected WDCUserService WDCUService { get; set; } = null!;
[Inject]
protected UserManager<IdentityUser> _userManager { get; set; } = null!;
[Inject]
protected AuthenticationStateProvider ASProvider { get; set; } = null!;
protected string currUser { get; set; } = "";
protected override async Task OnInitializedAsync()
{
await Task.Delay(1);
var all = ASProvider.GetAuthenticationStateAsync().Result.User.Identity;
if (all != null)
{
currUser = all?.Name!;
}
await Task.Delay(1);
await ReloadData();
WDCUService.EA_UserClaims += OnNewUserClaims;
}
protected async Task ReloadData()
{
var user = await _userManager.FindByNameAsync(currUser);
var compId = await _userManager.GetClaimsAsync(user);
if (compId != null)
{
foreach(var item in compId)
{
listRecord.Add(item.Value);
}
}
userClaimsList = listRecord;
}
public EventCallback<List<string>> E_UserClaims { get; set; }
public List<string> listRecord { get; set; } = new List<string>();
public List<string>? userClaimsList
{
get
{
return WDCUService.userClaims;
}
set
{
WDCUService.userClaims = value;
reportChange();
}
}
[Inject]
protected AuthenticationStateProvider AuthenticationStateProvider { get; set; } = null!;
public async void OnNewUserClaims()
{
await InvokeAsync(() =>
{
StateHasChanged();
});
}
private void reportChange()
{
E_UserClaims.InvokeAsync(userClaimsList);
}
}
}
@@ -1,7 +1,7 @@
using Microsoft.AspNetCore.Components;
using WebDoorCreator.Data.DbModels;
namespace WebDoorCreator.UI.Components.ORDER
namespace WebDoorCreator.UI.Components.Order
{
public partial class OrderDetails
{
@@ -5,7 +5,7 @@ using Microsoft.JSInterop;
using WebDoorCreator.Data.DbModels;
using WebDoorCreator.UI.Data;
namespace WebDoorCreator.UI.Components.ORDER
namespace WebDoorCreator.UI.Components.Order
{
public partial class OrderList
{
@@ -36,12 +36,14 @@ namespace WebDoorCreator.UI.Components.ORDER
protected override async Task OnInitializedAsync()
{
#if false
var all = ASProvider.GetAuthenticationStateAsync().Result.User.Identity;
if (all != null)
{
currUser = all.Name;
}
}
#endif
await ReloadData();
}
@@ -93,18 +95,28 @@ namespace WebDoorCreator.UI.Components.ORDER
return answ;
}
[Inject]
protected WDCUserService WDCUService { get; set; } = null!;
protected List<string>? userClaims
{
get => WDCUService.userClaims;
}
private async Task ReloadData()
{
var adesso = DateTime.Now.Date;
ListOrdersStatus = null;
await Task.Delay(1);
#if false
var user = await _userManager.FindByNameAsync(currUser);
var compId = await _userManager.GetClaimsAsync(user);
var claim = compId.FirstOrDefault();
var claim = compId.FirstOrDefault();
if (claim != null)
{
ListOrdersStatus = await WDService.GetOrderStatus(int.Parse(claim.Value), 0, adesso.AddYears(-2), adesso);
}
#endif
if (userClaims != null)
{
ListOrdersStatus = await WDService.GetOrderStatus(int.Parse(userClaims.FirstOrDefault()), 0, adesso.AddYears(-2), adesso);
}
await Task.Delay(1);
await InvokeAsync(StateHasChanged);
@@ -3,7 +3,7 @@ using Microsoft.JSInterop;
using WebDoorCreator.Data.DbModels;
using WebDoorCreator.UI.Data;
namespace WebDoorCreator.UI.Components.USERS
namespace WebDoorCreator.UI.Components.Users
{
public partial class UserList
{
+67
View File
@@ -0,0 +1,67 @@
namespace WebDoorCreator.UI.Data
{
public class WDCUserService
{
#region Public Events
public event Action EA_UserName = null!;
public event Action EA_UserClaims = null!;
#endregion Public Events
#region Public Properties
public string newUserName
{
get => _newUserName;
set
{
if (_newUserName != value)
{
_newUserName = value;
reportUserName();
}
}
}
public List<string>? userClaims
{
get => _userClaims;
set
{
if (_userClaims != value)
{
_userClaims = value;
reportUserClaims();
}
}
}
#endregion Public Properties
#region Protected Methods
protected void reportUserName()
{
if (EA_UserName != null)
{
EA_UserName?.Invoke();
}
}
protected void reportUserClaims()
{
if (EA_UserClaims != null)
{
EA_UserClaims?.Invoke();
}
}
#endregion Protected Methods
#region Private Properties
private string _newUserName { get; set; } = "";
private List<string>? _userClaims { get; set; } = null;
#endregion Private Properties
}
}
+1
View File
@@ -50,6 +50,7 @@ builder.Services.AddDefaultIdentity<IdentityUser>(options => options.SignIn.Requ
builder.Services.AddRazorPages();
builder.Services.AddServerSideBlazor();
builder.Services.AddSingleton<WebDoorCreatorService>();
builder.Services.AddScoped<WDCUserService>();
builder.Services.AddScoped<AuthenticationStateProvider, RevalidatingIdentityAuthenticationStateProvider<IdentityUser>>();
builder.Services.AddHttpContextAccessor();
builder.Services.AddSingleton<IConnectionMultiplexer>(redisMultiplexer);
+1 -1
View File
@@ -1,5 +1,5 @@
@inherits LayoutComponentBase
@using WebDoorCreator.UI.Components.GEN
@using WebDoorCreator.UI.Components.Gen
<PageTitle>WebDoorCreator.UI</PageTitle>
+7 -7
View File
@@ -8,13 +8,13 @@
@using Microsoft.JSInterop
@using WebDoorCreator.UI
@using WebDoorCreator.UI.Components
@using WebDoorCreator.UI.Components.BUTTONS
@using WebDoorCreator.UI.Components.COMPMAN
@using WebDoorCreator.UI.Components.DOOR
@using WebDoorCreator.UI.Components.DOORDEF
@using WebDoorCreator.UI.Components.GEN
@using WebDoorCreator.UI.Components.ORDER
@using WebDoorCreator.UI.Components.USERS
@using WebDoorCreator.UI.Components.Buttons
@using WebDoorCreator.UI.Components.CompMan
@using WebDoorCreator.UI.Components.DoorMan
@using WebDoorCreator.UI.Components.DoorDef
@using WebDoorCreator.UI.Components.Gen
@using WebDoorCreator.UI.Components.Order
@using WebDoorCreator.UI.Components.Users
@using WebDoorCreator.UI.Shared
@using WebDoorCreator.Data.DbModels