public async Task <IActionResult> UpdateMyProfile([FromBody] UpdateMyProfile userDto) { userDto.Id = GetIdUser(); var result = await _userService.UpdateMyProfile(userDto); if (!result.IsSuccess) { return(BadRequest(result)); } return(Ok(result.Response)); }
public async Task <ServiceResult <UpdateMyProfile> > UpdateMyProfile(UpdateMyProfile userParam) { var user = _context.Users.Find(userParam.Id); if (user == null) { throw new AppException("User not found"); } if (userParam.UserName != user.UserName) { // username has changed so check if the new username is already taken if (_context.Users.Any(x => x.UserName == userParam.UserName)) { throw new AppException("El usuario " + userParam.UserName + " ya existe en la db."); } } // update user properties user.Dni = userParam.Dni; user.UserName = userParam.UserName; user.Email = userParam.UserName; user.PhoneNumber = userParam.PhoneNumber; user.FirstName = userParam.FirstName; user.LastName = userParam.LastName; user.DistributionId = userParam.DistributionId; //actualizo los roles del usuario foreach (var role in userParam.RolesUser) { await UpdateUserRoleWhenModify(user.Id, role.Id, role.RolBelongUser); } // update password if it was entered if (!string.IsNullOrWhiteSpace(userParam.Password)) { user.PasswordHash = _userManager.PasswordHasher.HashPassword(user, userParam.Password); } _context.Users.Update(user); _context.SaveChanges(); return(new ServiceResult <UpdateMyProfile>(userParam)); }
public HttpResponseMessage Put(MyProfileApiModel model) { //System.Threading.Thread.Sleep(2000); // test api latency var command = new UpdateMyProfile(User); Mapper.Map(model, command); try { _profileUpdateHandler.Handle(command); } catch (ValidationException ex) { var badRequest = Request.CreateResponse(HttpStatusCode.BadRequest, ex.Message, "text/plain"); return badRequest; } return Request.CreateResponse(HttpStatusCode.OK, "Your profile was saved successfully."); }
public async Task <IActionResult> UpdateMyProfile([FromBody] UpdateMyProfile userDto) { await _userService.UpdateMyProfile(userDto); return(Ok()); }