public async Task EditUser(EditProfileDto model) { var user = await _unitOfWork.AppUser.GetById(model.Id); if (user != null) { if (model.Image != null) { using var image = Image.Load(model.Image.OpenReadStream()); image.Mutate(x => x.Resize(256, 256)); image.Save("wwwroot/images/users/" + user.UserName + ".jpg"); user.ImagePath = ("/images/users/" + user.UserName + ".jpg"); _unitOfWork.AppUser.Update(user); await _unitOfWork.Commit(); } if (model.Password != null) { user.PasswordHash = _userManager.PasswordHasher.HashPassword(user, model.Password); await _userManager.UpdateAsync(user); } if (model.UserName != user.UserName) { var isUserNameExist = await _userManager.FindByNameAsync(model.UserName); if (isUserNameExist == null) { await _userManager.SetUserNameAsync(user, model.UserName); user.UserName = model.UserName; await _signInManager.SignInAsync(user, isPersistent : true); } } if (model.Name != user.Name) { user.Name = model.Name; _unitOfWork.AppUser.Update(user); await _unitOfWork.Commit(); } if (model.Email != user.Email) { var isEmailExist = await _userManager.FindByEmailAsync(model.Email); if (isEmailExist == null) { await _userManager.SetEmailAsync(user, model.Email); } } } ; }
public JsonResult EditProfile(EditProfileDto dto) { dto.Id = UserAuth.AdminUser.UserId; return(ToJsonResult(_accountAdminService.SaveEditProfile(dto))); }