modificati nomi cartelle componenti
+ aggiunto message service con lista claims per user
This commit is contained in:
@@ -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
|
||||
{
|
||||
|
||||
+1
-4
@@ -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
|
||||
{
|
||||
|
||||
@@ -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
|
||||
}
|
||||
}
|
||||
@@ -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,5 +1,5 @@
|
||||
@inherits LayoutComponentBase
|
||||
@using WebDoorCreator.UI.Components.GEN
|
||||
@using WebDoorCreator.UI.Components.Gen
|
||||
|
||||
<PageTitle>WebDoorCreator.UI</PageTitle>
|
||||
|
||||
|
||||
@@ -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
|
||||
|
||||
|
||||
Reference in New Issue
Block a user