public async Task <IActionResult> Edit(EditUserFormModel model) { if (!ModelState.IsValid) { return(View(model)); } var user = await userManager.GetUserAsync(User); if (user == null) { throw new ApplicationException($"Unable to load user with ID '{userManager.GetUserId(User)}'."); } var changePasswordResult = await userManager.ChangePasswordAsync(user, model.CurrentPassword, model.Password); if (!changePasswordResult.Succeeded) { AddErrors(changePasswordResult); return(View(model)); } await signInManager.SignInAsync(user, isPersistent : false); StatusMessage = "Your password has been changed."; return(RedirectToAction(nameof(Details), new { user.Id })); }
public async Task <ActionResult> EditProfile(EditUserFormModel model) { var newData = Mapper.Map <EditUserFormModel, DutUser>(model); var result = await Task.Run((() => UserService.EditProfile(newData))); return(Json(new { model = result.Successed?"confirmed":"failed", message = result.Message }, JsonRequestBehavior.AllowGet)); }
public async Task <bool> EditUserAsync(User user, EditUserFormModel userForm) { try { if (_context.Users.Any(c => c.Username.ToLower() == userForm.Username.ToLower() && c.Id != userForm.UserId)) { throw new StockAssistanceProviderGlobalException(UsersServiceErrors.UserExistError); } var userEdt = await _context.Users.FirstOrDefaultAsync(c => c.Id == userForm.UserId); if (userEdt == null) { throw new StockAssistanceProviderGlobalException(UsersServiceErrors.UserNotFoundError); } var groupRole = await _context.GroupAuthRoles.Where(c => c.GroupAuthId == userForm.GroupAuthId).Include(c => c.Role).ToListAsync(); if (groupRole == null) { throw new StockAssistanceProviderGlobalException(UsersServiceErrors.GroupNotFoundError); } if (userEdt.GroupAuthId != userForm.GroupAuthId) { _context.UserRoles.RemoveRange(_context.UserRoles.Where(c => c.UserId == userForm.UserId).ToList()); var newUserRoles = groupRole.Select(c => c.Role).Select(role => new UserRole { UserId = userForm.UserId, Role = role }).ToList(); _context.UserRoles.AddRange(newUserRoles); } userEdt.GroupAuthId = userForm.GroupAuthId; userEdt.FirstName = userForm.FirstName; userEdt.Description = userForm.Description; userEdt.IsActive = userForm.IsActive; userEdt.UserType = userForm.UserType; userEdt.AvailableUserType = userForm.AvailableUserType; userEdt.LastName = userForm.LastName; if (!string.IsNullOrEmpty(userForm.Password)) { userEdt.Password = _securityService.GetSha256Hash(userForm.Password); } userEdt.SerialNumber = Guid.NewGuid().ToString("N"); userEdt.Location = userForm.Location; userEdt.PhoneNumber = userForm.PhoneNumber; _context.Users.Update(userEdt); _context.SaveChanges(); return(true); } catch (Exception ex) { throw new StockAssistanceProviderGlobalException(UsersServiceErrors.AddUserError, ex); } }
public async Task <IActionResult> Edit(string id) { var user = await userManager.GetUserAsync(User); if (user == null) { throw new ApplicationException($"Unable to load user with ID '{userManager.GetUserId(User)}'."); } var model = new EditUserFormModel { Email = user.Email, Phone = user.PhoneNumber, LastLoginTime = user.LastLoginTime }; return(View(model)); }
public virtual ActionResult EditUser(Guid userId) { var user = db.Get <User>().Where(u => u.Id == userId).Single(); var model = new EditUserFormModel() { UserId = user.Id, UserName = user.UserName, EmailAddress = user.EmailAddress, DisplayName = user.DisplayName, Enabled = user.IsApproved, AssignedRoles = user.Roles.ToArray(), AvailableRoles = UserRole.GetRoles().Select(r => new SelectListItem { Text = r.Value, Value = r.Key, Selected = user.IsInRole(r.Key) }).ToArray() }; return(PartialView(MVC.User.Views.EditUser, model, "ExistingUser")); }
public virtual ActionResult EditUser(Guid userId, [Bind(Prefix = "ExistingUser")] EditUserFormModel model) { var user = db.Get <User>().Where(u => u.Id == userId).Single(); if (ModelState.IsValid) { try { if (this.db.Get <User>().Any(u => u.UserName.Equals(model.UserName, StringComparison.InvariantCultureIgnoreCase) && u.Id != user.Id)) { ModelState.AddModelError("ExistingUser.UserName", "A user with that user name already exists"); } else { user.SetUserName(model.EmailAddress); user.SetEmailAddress(model.EmailAddress); user.SetDisplayName(model.DisplayName); user.SetApprovalStatus(model.Enabled); db.SaveChanges(); } } catch (Exception ex) { ModelState.AddModelError("ExistingUser", ex.Message); } } if (!ModelState.IsValid) { model.AvailableRoles = UserRole.GetRoles().Select(r => new SelectListItem { Text = r.Value, Value = r.Key, Selected = model.AssignedRoles.Contains(r.Key) }).ToArray(); } return(ModelState.IsValid ? Json(new { success = true }) : Json(new { success = false, formWithErrorMessages = this.RenderPartialViewToString(MVC.User.Views.EditUser, model, "ExistingUser") })); }
public async Task <IActionResult> EditUser([FromBody] EditUserFormModel userForm) { var user = await _usersService.EditUserAsync(HttpContext.GetUser(), userForm); return(Ok(GetRequestResult(user))); }