예제 #1
0
    public async Task<IActionResult> UpdateUserAsync([FromRoute] string userId, [FromBody] UpdateUserResource updateUserResource)
    {
      var language = Request.Headers["Accept-Language"].ToString();

      if (ModelState.IsValid)
      {
        var user = await this.userManager.FindByIdAsync(userId);
        if (user == null)
        {
          ModelState.AddModelError("", "User not found");
          return new NotFoundObjectResult(new NotFoundResource(ModelState));
        }

        this.mapper.Map<UpdateUserResource, ApplicationUser>(updateUserResource, user);

        user.UpdatedAt = DateTime.Now;

        var result = await this.userManager.UpdateAsync(user);

        if (result.Succeeded)
        {
          user = await this.userRepository.FindUserByIdAsync(user.Id);
          var userResource = this.mapper.Map<ApplicationUser, UserResource>(user);

          return new OkObjectResult(userResource);
        }

        foreach (IdentityError error in result.Errors)
        {
          ModelState.AddModelError("", error.Description);
        }
      }

      return new BadRequestObjectResult(new BadRequestResource(ModelState));
    }
예제 #2
0
        public async Task <IActionResult> UpdateUserDataAsync([FromBody] UpdateUserResource userResource)
        {
            if (!ModelState.IsValid)
            {
                return(BadRequest(ModelState.GetErrors()));
            }

            var userToUpdate = Mapper.Map <UpdateUserResource, UpdateUser>(userResource);
            var userUpdated  = await UserService.UpdateUserDataAsync(userToUpdate);

            return(HandleResult(userUpdated));
        }
예제 #3
0
        public async Task <IActionResult> UpdateAccount([FromRoute] string userId, [FromBody] UpdateUserResource updateUserResource)
        {
            if (ModelState.IsValid)
            {
                var isAdmin       = User.IsInRole("Admin");
                var updateUserDto = _mapper.Map <UpdateUserResource, UpdateUserDto>(updateUserResource);
                await _userService.UpdateUserAsync(userId, updateUserDto, isAdmin : isAdmin);

                return(new OkObjectResult(new { messgae = "User has been updated successfully" }));
            }

            return(new BadRequestObjectResult(new { message = "Failed to update user account!" }));
        }
예제 #4
0
 public IActionResult UpdateUser(UpdateUserResource updateUserResource)
 {
     if (!ModelState.IsValid)
     {
         return(BadRequest(ModelState.GetErrorMessages()));
     }
     else
     {
         User user = mapper.Map <UpdateUserResource, User>(updateUserResource);
         BaseResponse <User> userResponse = this.userService.UpdateUser(user);
         if (userResponse.Success)
         {
             return(Ok(userResponse.Extra));
         }
         return(BadRequest(userResponse.ErrorMessage));
     }
 }
예제 #5
0
        public async Task <ActionResult> Put(string username, [FromBody] UpdateUserResource user)
        {
            var currentUserId = User.FindFirstValue(ClaimTypes.NameIdentifier);
            var currentUser   = await _userService.GetUserById(currentUserId);

            if (currentUser.UserName != username)
            {
                return(Forbid());
            }
            if (!User.IsInRole("Admins"))
            {
                return(Forbid());
            }

            await _userService.UpdateUser(username, user);

            return(NoContent());
        }
예제 #6
0
        public async Task <IActionResult> PutAsync(int id, [FromBody] UpdateUserResource resource)
        {
            if (!ModelState.IsValid)
            {
                return(BadRequest(ModelState.GetErrorMessages()));
            }

            var user   = _mapper.Map <UpdateUserResource, User>(resource);
            var result = await _userService.UpdateAsync(id, user);

            if (!result.Success)
            {
                return(BadRequest(result.Message));
            }

            var userResource = _mapper.Map <User, UserResource>(result.User);

            return(Ok(userResource));
        }
예제 #7
0
        public async Task UpdateUser(string userName, UpdateUserResource user)
        {
            var validator        = new UpdateUserResourceValidator();
            var validationResult = await validator.ValidateAsync(user);

            if (!validationResult.IsValid)
            {
                throw new ValidationException(validationResult.Errors);
            }

            var actualUser = await _unitOfWork.Users.SingleOrDefaultAsync(u => u.UserName == userName);

            if (actualUser == null)
            {
                throw ExceptionBuilder.Create("User with provided UserName does not exist");
            }

            actualUser.Name  = (string.IsNullOrEmpty(user.Name)) ? user.Name : actualUser.Name;
            actualUser.Email = (string.IsNullOrEmpty(user.Email)) ? user.Email : actualUser.Email;

            await _unitOfWork.CommitAsync();
        }
 public static void AssertEquals(UpdateUserResource updateUserResource, UserResource userResource)
 {
     Assert.Equal(updateUserResource.Email, userResource.Email);
     Assert.Equal(updateUserResource.FirstName, userResource.FirstName);
     Assert.Equal(updateUserResource.LastName, userResource.LastName);
 }
 public void UpdateUserResources()
 {
     if (this.updateUserRes == null)
     {
         this.updateUserRes = base.GetComponentInChildren<UpdateUserResource>();
     }
     this.updateUserRes.UpdateValues(true);
 }
 private void RefreshResource()
 {
     if (this.updateUserRes == null)
     {
         this.updateUserRes = base.GetComponentInChildren<UpdateUserResource>();
     }
     if (this.updateUserRes != null)
     {
         this.updateUserRes.UpdateValues(true);
     }
 }