public ActionResult Edit([Bind(Include = "Id,Email,FirstName,LastName,Age,Gender,PhoneNumber")] EditApplicationUserViewModel user) { if (ModelState.IsValid) { var userEntity = _applicationUserRepository.GetById(user.Id); if (userEntity.Id != User.Identity.GetUserId() && !User.IsInRole("Administrator")) { return(RedirectToAction("Index", "Home")); } Mapper.Map(user, userEntity); _applicationUserRepository.Update(userEntity); if (!_applicationUserRepository.Save()) { return(new HttpStatusCodeResult(HttpStatusCode.BadRequest)); } return(RedirectToAction("Details", "ApplicationUsers", new { id = userEntity.Id })); } return(View(user)); }
public ActionResult Edit(EditApplicationUserViewModel viewModel){ try { if (ModelState.IsValid) { var applicationUser = db.Users.Find(User.Identity.GetUserId()); db.Entry(applicationUser).CurrentValues.SetValues(viewModel); db.SaveChanges(); return Redirect(Request.UrlReferrer.ToString()); } //if (ModelState.IsValid) { // db.Entry(applicationUser).State = EntityState.Modified; // db.SaveChanges(); // return RedirectToAction("Index"); //} return Redirect(Request.UrlReferrer.ToString()); } catch (DbEntityValidationException e) { foreach (var eve in e.EntityValidationErrors) { Debug.WriteLine("Entity of type \"{0}\" in state \"{1}\" has the following validation errors:", eve.Entry.Entity.GetType().Name, eve.Entry.State); foreach (var ve in eve.ValidationErrors) { Debug.WriteLine("- Property: \"{0}\", Error: \"{1}\"", ve.PropertyName, ve.ErrorMessage); } } throw; } }
/// <summary> /// Edits a Single <see cref="ApplicationUser"/> in Database from <see cref="EditApplicationUserViewModel"/> /// </summary> /// <param name="model"></param> /// <returns><see cref="bool"/></returns> public async Task <bool> EditSingleApplicationUser(EditApplicationUserViewModel model) { var existingApplicationUser = await _healthyGamerPortalDbContext.ApplicationUsers.AsNoTracking().FirstOrDefaultAsync(i => i.Id == model.Id); if (existingApplicationUser != null) { ApplicationUser applicationUser = _mapper.Map <ApplicationUser>(model); applicationUser.Password = existingApplicationUser.Password; _healthyGamerPortalDbContext.Update(applicationUser); await _healthyGamerPortalDbContext.SaveChangesAsync(); return(true); } return(false); }
public async Task <IActionResult> EditApplicationUser(string id, EditApplicationUserViewModel model) { if (ModelState.IsValid) { ApplicationUser user = await _userManager.FindByIdAsync(id); if (user != null) { user.Name = model.Name; user.Email = model.Email; IdentityResult result = await _userManager.UpdateAsync(user); if (result.Succeeded) { IdentityResult addPasswordResult = null; if (!string.IsNullOrEmpty(model.NewPassword)) { var code = await _userManager.GeneratePasswordResetTokenAsync(user); addPasswordResult = await _userManager.ResetPasswordAsync(user, code, model.NewPassword); } string existingRole = _userManager.GetRolesAsync(user).Result.Single(); string existingRoleId = _roleManager.Roles.Single(r => r.Name == existingRole).Id; if (existingRoleId != model.ApplicationRoleId) { IdentityResult roleResult = await _userManager.RemoveFromRoleAsync(user, existingRole); if (roleResult.Succeeded) { ApplicationRole applicationRole = await _roleManager.FindByIdAsync(model.ApplicationRoleId); if (applicationRole != null) { IdentityResult newRoleResult = await _userManager.AddToRoleAsync(user, applicationRole.Name); } } } return(RedirectToAction("Users")); } } } return(PartialView("_EditApplicationUser", model)); }
public async Task <ActionResult> Edit([Bind(Include = "FirstName,LastName,Email,Id")] EditApplicationUserViewModel model, params string[] selectedRole) { if (ModelState.IsValid) { var user = await _userManager.FindByIdAsync(model.Id); if (user == null) { return(HttpNotFound()); } user.FirstName = model.FirstName; user.LastName = model.LastName; user.UserName = model.Email; user.Email = model.Email; var userRoles = await _userManager.GetRolesAsync(user.Id); selectedRole = selectedRole ?? new string[] { }; var result = await _userManager.AddToRolesAsync(user.Id, selectedRole.Except(userRoles).ToArray()); if (!result.Succeeded) { ModelState.AddModelError("Error", result.Errors.First()); return(View()); } result = await _userManager.RemoveFromRolesAsync(user.Id, userRoles.Except(selectedRole).ToArray()); if (!result.Succeeded) { ModelState.AddModelError("Error", result.Errors.First()); return(View()); } this.AddToastMessage("Edição de Usuário Salva", "O usuário foi editado com sucesso", ToastType.Success); return(RedirectToAction("Index")); } this.AddToastMessage("Erro na Edição do Usuário", "Ocorreu um erro na edição do usuário, favor tentar novamente", ToastType.Success); return(View()); }
public async Task <IActionResult> Edit(EditApplicationUserViewModel model) { if (ModelState.IsValid) { var api = RestService.For <IHealthyGamerPortalUserApi>(new HttpClient(new Helpers.AuthenticatedHttpClientHandler()) { BaseAddress = new Uri(BaseUrl) }); var response = await api.EditSingleApplicationUser(model); if (response.Result) { TempData.Add("success-msg", "User has been Edite"); return(RedirectToAction("Index", "ApplicationUser")); } ModelState.AddModelError("Email", "This email has already been registered"); return(View(model)); } return(View(model)); }
public async Task <IActionResult> EditApplicationUser(string id) { EditApplicationUserViewModel model = new EditApplicationUserViewModel() { ApplicationRoles = _roleManager.Roles.Select(r => new SelectListItem { Text = r.Name, Value = r.Id }).OrderBy(r => r.Text).ToList() }; if (!String.IsNullOrEmpty(id)) { ApplicationUser user = await _userManager.FindByIdAsync(id); if (user != null) { model.Name = user.Name; model.Email = user.Email; model.ApplicationRoleId = _roleManager.Roles.Single(r => r.Name == _userManager.GetRolesAsync(user).Result.Single()).Id; } } return(PartialView("_EditApplicationUser", model)); }
public async Task <IActionResult> EditSingleApplicationUser([FromBody] EditApplicationUserViewModel model) { var result = await _applicationUserService.EditSingleApplicationUser(model); return(Ok(GenerateSuccessfulResponse(result))); }