public async Task <IActionResult> Edit(int id, [Bind("Name,Email,Password,Id")] UserEditable userE, int[] groups) { if (id != userE.Id) { return(NotFound()); } if (ModelState.IsValid) { try { User user = (User)userE; User original = await _userDAO.FindOrDefault(user.Id); if (original == null) { return(NotFound()); } original.Name = user.Name; original.Email = user.Email; if (!string.IsNullOrWhiteSpace(user.Password)) { original.Password = BCrypt.Net.BCrypt.HashPassword(user.Password); } await _userRepository.Update(original, groups); } catch (DbUpdateConcurrencyException) { if (_userDAO.Find(userE.Id) == null) { return(NotFound()); } else { throw; } } return(RedirectToAction(nameof(All))); } await PutGroupsInView((User)userE); return(View(userE)); }
public async Task <IActionResult> Settings([Bind("Name,Email,Password,Id")] UserEditable userE) { if (ModelState.IsValid) { User user = (User)userE; var originalUser = await _userDAO.FindOrDefault(user.Id); if (originalUser == null) { return(RedirectToAction(nameof(Login))); } originalUser.Name = user.Name; originalUser.Email = user.Email; if (!string.IsNullOrEmpty(user.Password)) { originalUser.Password = BCrypt.Net.BCrypt.HashPassword(user.Password); } try { await _userDAO.Save(originalUser); } catch (DbUpdateConcurrencyException) { if (_userDAO.FindOrDefault(user.Id) == null) { return(RedirectToAction(nameof(Login))); } else { throw; } } return(RedirectToAction("Index", "Home")); } return(View(userE)); }