From 086c3e7241eaa3ffb440d7ea03427f3370163a58 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Halil=20=C4=B0brahim=20Kalkan?= Date: Fri, 4 Sep 2020 11:22:10 +0300 Subject: [PATCH] Implemented editing role --- .../Pages/RoleManagement.razor | 38 +++++++++++++--- .../Pages/RoleManagement.razor.cs | 43 ++++++++++++++++++- 2 files changed, 75 insertions(+), 6 deletions(-) diff --git a/templates/app/aspnet-core/src/MyCompanyName.MyProjectName.Blazor/Pages/RoleManagement.razor b/templates/app/aspnet-core/src/MyCompanyName.MyProjectName.Blazor/Pages/RoleManagement.razor index 3bac48024b..5230456a14 100644 --- a/templates/app/aspnet-core/src/MyCompanyName.MyProjectName.Blazor/Pages/RoleManagement.razor +++ b/templates/app/aspnet-core/src/MyCompanyName.MyProjectName.Blazor/Pages/RoleManagement.razor @@ -6,18 +6,19 @@ @using Volo.Abp.Identity.Localization @inject IIdentityRoleAppService RoleAppService @inject IStringLocalizer L - +@* ************************* PAGE HEADER ************************* *@

@L["Roles"]

- +
+@* ************************* DATA GRID ************************* *@ - Edit + Edit Manage Permissions Delete @@ -39,10 +40,11 @@ - + +@* ************************* CREATE MODAL ************************* *@ @@ -53,7 +55,7 @@ Name - + Default @@ -65,4 +67,30 @@ + + +@* ************************* EDIT MODAL ************************* *@ + + + + + Edit role + + + + + + Name + + + + Default + Public + + + + + + + \ No newline at end of file diff --git a/templates/app/aspnet-core/src/MyCompanyName.MyProjectName.Blazor/Pages/RoleManagement.razor.cs b/templates/app/aspnet-core/src/MyCompanyName.MyProjectName.Blazor/Pages/RoleManagement.razor.cs index 5e8d6e4a51..e4971c27c8 100644 --- a/templates/app/aspnet-core/src/MyCompanyName.MyProjectName.Blazor/Pages/RoleManagement.razor.cs +++ b/templates/app/aspnet-core/src/MyCompanyName.MyProjectName.Blazor/Pages/RoleManagement.razor.cs @@ -4,7 +4,9 @@ using System.Threading.Tasks; using Blazorise; using Blazorise.DataGrid; using Volo.Abp.Application.Dtos; +using Volo.Abp.Data; using Volo.Abp.Identity; +using Volo.Abp.ObjectExtending; namespace MyCompanyName.MyProjectName.Blazor.Pages { @@ -14,13 +16,20 @@ namespace MyCompanyName.MyProjectName.Blazor.Pages { private int _currentPage; private int? _totalCount; + private IReadOnlyList _roles; + private IdentityRoleCreateDto _newRole; + private Guid _editingRoleId; + private IdentityRoleUpdateDto _editingRole; + private Modal _createModal; + private Modal _editModal; public RoleManagement() { _newRole = new IdentityRoleCreateDto(); + _editingRole = new IdentityRoleUpdateDto(); } protected override async Task OnInitializedAsync() @@ -48,7 +57,7 @@ namespace MyCompanyName.MyProjectName.Blazor.Pages StateHasChanged(); } - private async Task OpenCreateModalAsync() + private void OpenCreateModal() { _newRole = new IdentityRoleCreateDto(); _createModal.Show(); @@ -59,6 +68,31 @@ namespace MyCompanyName.MyProjectName.Blazor.Pages _createModal.Hide(); } + private async Task OpenEditModalAsync(Guid id) + { + var role = await RoleAppService.GetAsync(id); + + _editingRoleId = id; + + //TODO: User AutoMapper! + _editingRole = new IdentityRoleUpdateDto + { + Name = role.Name, + ConcurrencyStamp = role.ConcurrencyStamp, + IsDefault = role.IsDefault, + IsPublic = role.IsPublic + }; + + role.MapExtraPropertiesTo(_editingRole); + + _editModal.Show(); + } + + private void CloseEditModal() + { + _editModal.Hide(); + } + private async Task CreateRoleAsync() { await RoleAppService.CreateAsync(_newRole); @@ -66,6 +100,13 @@ namespace MyCompanyName.MyProjectName.Blazor.Pages _createModal.Hide(); } + private async Task UpdateRoleAsync() + { + await RoleAppService.UpdateAsync(_editingRoleId, _editingRole); + await GetRolesAsync(); + _editModal.Hide(); + } + private async Task DeleteRoleAsync(Guid id) { await RoleAppService.DeleteAsync(id);