示例#1
0
        public async Task <BaseResponse> Change(RoleChangeRequest request)
        {
            BaseResponse response = new BaseResponse();

            try
            {
                var command = request.ToCommand();
                var result  = await _roleService.SendCommand(command);

                if (result.IsSucess)
                {
                    response.SetSucess();
                }
                else
                {
                    response.SetFail(result.Message);
                }
            }
            catch (Exception e)
            {
                response.SetFail(e);
                _logger.LogError(e, e.Message, request);
            }
            return(response);
        }
示例#2
0
        public async Task <User> ChangeRoleAsync(String token, long ID, RoleChangeRequest request)
        {
            httpClient.DefaultRequestHeaders.Authorization = new AuthenticationHeaderValue("Bearer", token);
            UsersControllerClient _client = new UsersControllerClient(httpClient);

            return(await _client.ChangeRoleAsync(ID, request));
        }
示例#3
0
        public IActionResult ChangeRole(long id, [FromBody] RoleChangeRequest request)
        {
            var user = UsersService.ChangeUserRole(id, request);

            if (user == null)
            {
                return(NotFound());
            }

            return(Ok(user));
        }
示例#4
0
 public static RoleChangeCommand ToCommand(this RoleChangeRequest request)
 {
     if (request == null)
     {
         return(null);
     }
     return(new RoleChangeCommand()
     {
         Name = request.Name,
         Id = request.Id,
         Status = request.Status ? EnumDefine.RoleStatusEnum.Active : EnumDefine.RoleStatusEnum.Deleted,
         DepartmentId = request.DepartmentId
     });
 }
示例#5
0
 public async Task <IActionResult> RoleChange([FromBody] RoleChangeRequest request)
 {
     try
     {
         BaseResponse     response = new BaseResponse();
         ValidationResult validate = RoleChangeRequestValidator.ValidateModel(request);
         if (validate.IsValid)
         {
             response = await _roleAppService.Change(request);
         }
         else
         {
             response.SetFail(validate.Errors.Select(p => p.ToString()));
         }
         return(Json(response));
     }
     catch (Exception e)
     {
         _logger.LogError(e, Common.Common.GetMethodName(), request);
         throw;
     }
 }
示例#6
0
        public async Task <IActionResult> ChangeRole([FromBody] RoleChangeRequest request)
        {
            _logger.LogInformation($"Changing role of user with email ${request.Email} to ${request.Role}");

            ShopUser user = await _userManager.FindByEmailAsync(request.Email);

            if (user == null)
            {
                _logger.LogInformation($"Role changing failed, no user with such email found");
                return(StatusCode((int)HttpStatusCode.NotFound,
                                  new ErrorResponse(ErrorReasons.NotFound, "User was not found")));
            }

            try
            {
                UserRole role = (UserRole)Enum.Parse(typeof(UserRole), request.Role);
            }
            // happens if role string cannot be parsed
            catch (ArgumentException)
            {
                _logger.LogInformation($"Role changing failed, bad role provided");
                return(StatusCode((int)HttpStatusCode.BadRequest,
                                  new ErrorResponse(ErrorReasons.BadRequest, "Provided role does not exist")));
            }

            IList <string> roles = await _userManager.GetRolesAsync(user);

            await _userManager.RemoveFromRolesAsync(user, roles);

            await _userManager.AddToRoleAsync(user, request.Role);

            await _userManager.UpdateSecurityStampAsync(user);

            _logger.LogInformation($"Role succesfully changed");
            return(StatusCode((int)HttpStatusCode.NoContent));
        }
示例#7
0
        public async Task <IActionResult> ChangeRole(long ID, RoleChangeRequest roleChange)
        {
            var a = await _userFacade.ChangeRoleAsync(HttpContext.User.FindFirst(ClaimTypes.Hash).Value, ID, roleChange);

            return(RedirectToAction("AdminDetail", new { ID = ID }));
        }
示例#8
0
        public User ChangeUserRole(long id, RoleChangeRequest request)
        {
            var user = Repository.ChangeUserRole(id, request.Role);

            return(Mapper.Map <User>(user));
        }