public async Task <IActionResult> Edit(string id) { var model = new DDEditUserViewModel(); var user = await _applicationDbContext.Users.FirstOrDefaultAsync(t => t.Id == id); //var users = await _userManager.GetUserAsync(User); //var groups = _db.Groups.FirstOrDefault(t => t.Id == int.Parse(users.GroupId)); model.UserName = user.UserName; model.GroupId = user.GroupId; model.Groups = GroupByEdit(int.Parse(user.GroupId)); model.Projects = GetProjectsbyGroupId(int.Parse(user.GroupId), user.ProjectIds); model.Password = user.PasswordHash; model.Id = user.Id; model.ProjectId = user.ProjectIds; return(View(model)); }
public async Task <IActionResult> Edit(DDEditUserViewModel model) { //验证视图模型 if (!ModelState.IsValid) { model.Groups = GroupByEdit(int.Parse(model.GroupId)); model.Projects = GetProjectsbyGroupId(int.Parse(model.GroupId), model.ProjectId); return(View(model)); } //用户名重复不需要判断,因为界面已经禁止输入用户名 //if(IsUserNameExitByEdit(model.UserName,int.Parse(model.Id))==false) //{ // ModelState.AddModelError(string.Empty, "用户名称已经存在"); //} //找到用户 var user = await _applicationDbContext.Users.FirstOrDefaultAsync(t => t.Id == model.Id); //var changePassword = await _userManager.ChangePasswordAsync(user,user.PasswordHash, model.Password); //if(!changePassword.Succeeded) //{ // ModelState.AddModelError(string.Empty, "修改密码失败"); //} user.PasswordHash = _userManager.PasswordHasher.HashPassword(user, model.Password); user.GroupId = model.GroupId; user.ProjectIds = model.ProjectId; _applicationDbContext.Update(user); await _applicationDbContext.SaveChangesAsync(); return(RedirectToAction(nameof(Index))); }