@page "/Admin/AspNetUsers/AspNetUserRolleList" @inject Blazored.SessionStorage.ISessionStorageService sessionStorage @using Microsoft.AspNetCore.Authorization; @using Microsoft.AspNetCore.Identity; @inject UserManager _UserManager @inject RoleManager _RoleManager @inherits ListBase @using Syncfusion.Blazor.Grids; @using Syncfusion.Blazor.Buttons; @using Syncfusion.Blazor.Spinner; @using Syncfusion.Blazor.Popups; @using BlazorApp.Helper @using BWPMModels; @using BlazorApp.Controller;

BenutzerListe

Passwort-Änderung für @Username
Neuer Benutzer erstellen

   

@code{ private bool IsVisible { get; set; } = false; private bool NewUserIsVisible { get; set; } = false; private string Gridid = ""; public List Temp { get; set; } public List TempUser { get; set; } public List TmpRolle { get; set; } public List TmpUserRoles { get; set; } private string newpassword { get; set; } = ""; private string newusername { get; set; } = ""; private string newpassword1 { get; set; } = ""; private string ErrorMsg { get; set; } = ""; private string Username { get; set; } = ""; private string stringChecked { get; set; } = "Administrators"; SfGrid Grid { get; set; } private void OnOverlayclick(MouseEventArgs arg) { this.IsVisible = false; } private void ShowDialog(int dialognr) { this.ErrorMsg = ""; switch (dialognr) { case 1: this.IsVisible = true; break; case 2: this.NewUserIsVisible = true; break; default: break; } } private void CloseDialog() { this.IsVisible = false; this.NewUserIsVisible = false; } private void SavePasswort() { if (newpassword != newpassword1) { this.ErrorMsg = "Passworte stimmen nicht überein."; } else { IdentityUser objUser = new IdentityUser(); objUser.Id = Gridid; var user = _UserManager.FindByIdAsync(Gridid); var password = _UserManager.PasswordHasher.HashPassword(objUser,newpassword); BWPMModels.AspNetUsers usr = new BWPMModels.AspNetUsers(); usr.Id = Gridid; usr.PasswordHash = password; BlazorApp.Controller.AspNetUserRolleController.PUTPassword(usr); this.IsVisible = false; } } private void SaveNewUser() { ErrorMsg = ""; if (newusername.Trim()=="") { ErrorMsg = "Benutzername fehlt."; return; } if ((newpassword.Trim()=="") && (newpassword1.Trim()=="" )) { ErrorMsg = "Passwort fehlt."; return; } if(newpassword != newpassword1) { ErrorMsg = "Passworte stimmen nicht überein"; return; } BlazorApp.Helper.Utils utl = new BlazorApp.Helper.Utils(); if (utl.IsValidEmail(newusername) !=true){ ErrorMsg = "Benutzername ist ungültig (E-Mail Adresse)"; return; } TempUser= BlazorApp.Controller.AspNetUsersController.GetByEMail(newusername); if (TempUser.Count !=0) { ErrorMsg = "Benutzer bereits vorhanden."; return; } BWPMModels.AspNetUsers usr = new BWPMModels.AspNetUsers(); usr.UserName=newusername; usr.NormalizedUserName=newusername.ToUpper(); usr.NormalizedEmail = newusername.ToUpper(); usr.Email=newusername; usr.EmailConfirmed=true; Guid g = Guid.NewGuid(); usr.Id = g.ToString(); IdentityUser objUser = new IdentityUser(); objUser.Id = g.ToString(); var password = _UserManager.PasswordHasher.HashPassword(objUser,newpassword); usr.PasswordHash=password; usr.SecurityStamp = Guid.NewGuid().ToString(); usr.ConcurrencyStamp = Guid.NewGuid().ToString(); usr.PhoneNumber=""; usr.PhoneNumberConfirmed=false; usr.TwoFactorEnabled = false; usr.LockoutEnabled=true; usr.AccessFailedCount = 0; BlazorApp.Controller.AspNetUsersController.POST(usr); TmpRolle = BlazorApp.Controller.AspNetRolesController.GetByName(stringChecked); var _tmprolle = new BWPMModels.AspNetRoles(); _tmprolle = TmpRolle.First(); var usrrole = new BWPMModels.AspNetUserRoles(); usrrole.UserId = g.ToString(); usrrole.RoleId = _tmprolle.Id; BlazorApp.Controller.AspNetUserRolesController.POST(usrrole); this.NewUserIsVisible=false; Grid.Refresh(); } public async Task ToolBarClickHandler(Syncfusion.Blazor.Navigations.ClickEventArgs args) { if (args.Item.Text == "Passwort ändern") { var temp = await this.Grid.GetSelectedRecords(); // return the details of selceted record if (temp != null) { Username = temp[0].UserName; Gridid = temp[0].Id; ShowDialog(1); } } if (args.Item.Text == "Benutzer erstellen") { ShowDialog(2); } } public async Task GetSelectedRecords(RowSelectEventArgs args) { } public List GridData { get; set; } public List AspNetUserRolles { get; set; } public List AspNetRoles { get; set; } string userid = ""; public static int? pkey { get; set; } public bool Initial { get; set; } = true; public bool ContinuePaging = true; public bool InitialRender { get; set; } public int Value = 0; // consider that value your querystring contains public int foundrow = 0; protected override void OnInitialized() { /// GridData = OrdersDetails.GetAllRecords(); GridData = BlazorApp.Controller.AspNetUserRolleController.GetAllData(); AspNetRoles = BlazorApp.Controller.AspNetRolesController.GetAllData(); } protected override async Task OnAfterRenderAsync(bool firstRender) { userid = await sessionStorage.GetItemAsync("UserID"); if (userid == null) { var authState = await authenticationStateTask; var userId = authState.User.Claims.FirstOrDefault().Value; var user = authState.User; if (user.Identity.IsAuthenticated) { await sessionStorage.SetItemAsync("UserID", userId); } else { await sessionStorage.SetItemAsync("UserID", userId); } } } private async Task OnBeginHandler(ActionEventArgs Args) { if (Args.RequestType == Syncfusion.Blazor.Grids.Action.Save) { if (Args.Action == "Add") { } else { AspNetUserRoles rolle = new AspNetUserRoles(); rolle.RoleId = Args.Data.RoleId; rolle.UserId = Args.Data.Id; BlazorApp.Controller.AspNetUserRolesController.PUT(rolle); } } } public async Task OnCompletedHandler(ActionEventArgs Args) { if (Args.RequestType == Syncfusion.Blazor.Grids.Action.Save) { } } public async void RowDataBoundHandler(BeforeDataBoundArgs args) { if (!Initial) { //await Task.Delay(100); //var Idx = await this.Grid.GetRowIndexByPrimaryKey(Convert.ToDouble(Value)); //get index value //this.Grid.SelectRow(Convert.ToDouble(Idx)); } Initial = false; } }