@namespace Oqtane.Modules.Admin.Users @using Oqtane.Enums @inherits ModuleBase @inject IRoleService RoleService @inject IUserRoleService UserRoleService @if (userroles == null) {

Loading...

} else {
Cancel

Role  
@context.Role.Name @if (!context.Role.IsSystem) { }

} @code { private int userid; private List roles; private int roleid = -1; private string effectivedate = string.Empty; private string expirydate = string.Empty; private List userroles; public override SecurityAccessLevel SecurityAccessLevel => SecurityAccessLevel.Admin; protected override async Task OnInitializedAsync() { try { userid = Int32.Parse(PageState.QueryString["id"]); roles = await RoleService.GetRolesAsync(PageState.Site.SiteId); await GetUserRoles(); } catch (Exception ex) { await logger.LogError(ex, "Error Loading Roles {Error}", ex.Message); AddModuleMessage("Error Loading Roles", MessageType.Error); } } private async Task GetUserRoles() { try { userroles = await UserRoleService.GetUserRolesAsync(PageState.Site.SiteId); userroles = userroles.Where(item => item.UserId == userid).ToList(); } catch (Exception ex) { await logger.LogError(ex, "Error Loading User Roles {UserId} {Error}", userid, ex.Message); AddModuleMessage("Error Loading User Roles", MessageType.Error); } } private async Task SaveUserRole() { try { if (roleid != -1) { var userrole = userroles.Where(item => item.UserId == userid && item.RoleId == roleid).FirstOrDefault(); if (userrole != null) { if (string.IsNullOrEmpty(effectivedate)) { userrole.EffectiveDate = null; } else { userrole.EffectiveDate = DateTime.Parse(effectivedate); } if (string.IsNullOrEmpty(expirydate)) { userrole.ExpiryDate = null; } else { userrole.ExpiryDate = DateTime.Parse(expirydate); } await UserRoleService.UpdateUserRoleAsync(userrole); } else { userrole = new UserRole(); userrole.UserId = userid; userrole.RoleId = roleid; if (string.IsNullOrEmpty(effectivedate)) { userrole.EffectiveDate = null; } else { userrole.EffectiveDate = DateTime.Parse(effectivedate); } if (string.IsNullOrEmpty(expirydate)) { userrole.ExpiryDate = null; } else { userrole.ExpiryDate = DateTime.Parse(expirydate); } await UserRoleService.AddUserRoleAsync(userrole); } await GetUserRoles(); await logger.LogInformation("User Assigned To Role {UserRole}", userrole); AddModuleMessage("User Assigned To Role", MessageType.Success); } else { AddModuleMessage("You Must Select A Role", MessageType.Warning); } } catch (Exception ex) { await logger.LogError(ex, "Error Saving User Roles {UserId} {Error}", userid, ex.Message); AddModuleMessage("Error Saving User Roles", MessageType.Error); } } private async Task DeleteUserRole(int UserRoleId) { try { await UserRoleService.DeleteUserRoleAsync(UserRoleId); await GetUserRoles(); await logger.LogInformation("User Removed From Role {UserRoleId}", UserRoleId); AddModuleMessage("User Removed From Role", MessageType.Success); } catch (Exception ex) { await logger.LogError(ex, "Error Removing User From Role {UserRoleId} {Error}", UserRoleId, ex.Message); AddModuleMessage("Error Removing User From Role", MessageType.Error); } } }