示例#1
0
        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)));
 }