public ActionResult Edit(UsersEditViewModel model) { // Add Data Management evaluation section changes here. // End changes. // Solution: EntityModels.AspNetUser user = db.AspNetUsers.FirstOrDefault(x => x.Id == model.Id); if (model.NewPassword != string.Empty) { user.PasswordHash = AuthController.EncodePasswordMd5(model.NewPassword); } if (model.UserRole != user.AspNetRoles.Id) { user.AspNetRoles = db.AspNetRoles.FirstOrDefault(x => x.Id == model.UserRole); } db.SaveChanges(); // End solution. return(RedirectToAction("Edit", new { id = user.Id })); }
public ActionResult Edit(UsersEditViewModel model) { // Add Data Management evaluation section changes here. // End changes. // Solution: if (model.Id != 0) { EntityModels.AspNetUser user = db.AspNetUsers.FirstOrDefault(x => x.Id == model.Id); // Modifying password and roles. if (model.NewPassword != string.Empty) { user.PasswordHash = AuthController.EncodePasswordMd5(model.NewPassword); } if (model.UserRole != user.AspNetRoles.Id) { user.AspNetRoles = db.AspNetRoles.FirstOrDefault(x => x.Id == model.UserRole); //user.AspNetRoles.Name = model.UserRole.ToString(); } db.SaveChanges(); return(RedirectToAction("Edit", new { id = user.Id })); } else { EntityModels.AspNetUser user = new EntityModels.AspNetUser(); user = db.AspNetUsers.FirstOrDefault(x => x.Email == User.Identity.Name); // Modifying password and roles. if (model.NewPassword != string.Empty) { user.PasswordHash = AuthController.EncodePasswordMd5(model.NewPassword); } if (model.UserRole != user.AspNetRoles.Id) { user.AspNetRoles = db.AspNetRoles.FirstOrDefault(x => x.Id == model.UserRole); //user.AspNetRoles.Name = model.UserRole.ToString(); } db.SaveChanges(); return(RedirectToAction("Edit", new { id = user.Id })); } // End solution. }
// Param id is the Id of the user to edit. public ActionResult Edit(int?id) { UsersEditViewModel model = new UsersEditViewModel(); EntityModels.AspNetUser user = new EntityModels.AspNetUser(); if (id.HasValue) { user = db.AspNetUsers.FirstOrDefault(x => x.Id == id); } else { user = db.AspNetUsers.FirstOrDefault(x => x.Email == User.Identity.Name); } model.Id = user.Id; model.UserRole = user.AspNetRoles.Id; return(View()); }
public ActionResult Register(RegisterViewModel model) { if (!ModelState.IsValid) { return(View()); } if (db.AspNetUsers.FirstOrDefault(x => x.Email == model.Email) != null) { return(View()); } if (model.Password != model.ConfirmPassword) { return(View()); } EntityModels.AspNetUser newUser = new EntityModels.AspNetUser(); newUser.Email = model.Email; newUser.FullName = model.FullName; newUser.ImgName = string.Empty; newUser.PasswordHash = EncodePasswordMd5(model.Password); newUser.AccessFailedCount = 0; newUser.AspNetRoles = db.AspNetRoles.FirstOrDefault(x => x.Name == "User"); db.AspNetUsers.Add(newUser); db.SaveChanges(); LoginViewModel loginModel = new LoginViewModel(); loginModel.Email = newUser.Email; loginModel.Password = model.Password; Login(loginModel); return(RedirectToAction("Index", "Home")); }
public ActionResult Login(LoginViewModel model) { if (!ModelState.IsValid) { return(View()); } EntityModels.AspNetUser user = db.AspNetUsers.FirstOrDefault(x => x.Email == model.Email); if (user != null && EncodePasswordMd5(model.Password) == user.PasswordHash) { var identity = new ClaimsIdentity(new[] { new Claim(ClaimTypes.Name, user.Email), new Claim(ClaimTypes.Email, user.Email) }, "ApplicationCookie"); var ctx = HttpContext.GetOwinContext(); var authManager = ctx.Authentication; authManager.SignIn(identity); return(RedirectToAction("Index", "Home")); } else { model = new LoginViewModel { ReturnUrl = model.ReturnUrl }; } // user authN failed ModelState.AddModelError("", "Invalid email or password"); return(View()); }