Exemplo n.º 1
0
        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!!!
                    }
                }
            }
        }
Exemplo n.º 2
0
        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 }));
            }
        }
Exemplo n.º 3
0
        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));
        }