private async Task AssignUserRole(Student student) { if (student.DeployedDepID != null && student.UserID != null) { // don't want to remove Admin Rights here foreach (string availableRole in RoleStrings.AvailableRoles) { await _roleService.RemoveUserRole(student.UserID.Value, availableRole); } //await _context.SaveChangesAsync(); var d = _context.Departments.FindAsync(student.DeployedDepID); if (d != null) { var roleToAssign = d.Result.AssignmentRole; var found = RoleStrings.AvailableRoles.Any(availableRole => availableRole == roleToAssign); if (found) { _roleService.AddUserRoles(student.UserID.Value, roleToAssign); // saves changes here!!! } } } }
public IActionResult Register([FromBody] UserDto userDto) { var user = _mapper.Map <User>(userDto); try { _userService.Create(user, userDto.Password); if (user.Username == "Colin") { _roleService.AddUserRoles(user.ID, RoleStrings.Sysadmin); _roleService.AddUserRoles(user.ID, RoleStrings.Admin); _roleService.AddUserRoles(user.ID, RoleStrings.User); _roleService.AddUserRoles(user.ID, RoleStrings.HumanResource); } return(Ok()); } catch (AppException ex) { return(BadRequest(new { message = ex.Message })); } }
public async Task <ActionResult <IEnumerable <Role> > > PostRole(Role role) { if (_context.Roles.Any(x => x.RoleName == role.RoleName && x.UserID == role.UserID)) { return(BadRequest()); } if (role.RoleName == RoleStrings.Sysadmin && !User.IsInRole(RoleStrings.Sysadmin)) { return(Forbid()); } _rolesService.AddUserRoles(role.UserID, role.RoleName); return(_rolesService.GetUserRoles(role.UserID)); }