public async Task <IActionResult> Post([Required][FromBody] RoleDto roleDto) { if (!ModelState.IsValid) { return(BadRequest(ModelState)); } var ospRole = new OspRole(); ApplyToRole(ospRole, roleDto); try { var result = await _roleManager.CreateAsync(ospRole); if (result.Succeeded) { return(Ok()); } return(BadRequest(new OperationFailedError("Creation of role failed", result.Errors.Select(x => new FailedDetails { Code = x.Code, Description = x.Description })))); } catch (Exception e) { return(BadRequest(new InternalServerError(e.Message))); } }
private async Task CreateUsersAndRoles() { var adminRole = await _roleManager.FindByNameAsync(CommonConstants.AdministratorsRole); if (adminRole == null) { adminRole = new OspRole { Name = CommonConstants.AdministratorsRole, Claims = new List <IdentityRoleClaim <string> >() }; await _roleManager.CreateAsync(adminRole); } var userRole = await _roleManager.FindByNameAsync(CommonConstants.UsersRole); if (userRole == null) { userRole = new OspRole { Name = CommonConstants.UsersRole, Claims = new List <IdentityRoleClaim <string> >() }; await _roleManager.CreateAsync(userRole); } }
private void ApplyToRole(OspRole ospRole, RoleDto roleDto) { if (!string.IsNullOrWhiteSpace(roleDto.Id)) { ospRole.Id = new ObjectId(roleDto.Id); } ospRole.Name = roleDto.Name; }
internal static RoleDto CreateRoleDto(OspRole ospRole) { var roleDto = new RoleDto { Id = ospRole.Id.ToString(), Name = ospRole.Name, }; return(roleDto); }