public ActionResult Edit(EditUserModel model) { var userByEmail = UnitOfWork.Users.GetByEmail(model.Email); var userByLogin = UnitOfWork.Users.GetByLogin(model.Login); if (userByEmail != null) ModelState.AddModelError("Email", string.Format("Email {0} already in use.", model.Email)); if (userByLogin != null) ModelState.AddModelError("Login", string.Format("Email {0} already in use.", model.Login)); if (!ModelState.IsValid) return View(model); var user = model.Id != 0 ? UnitOfWork.Users.GetById(model.Id) : new User { CreatedDate = DateTime.Now, UpdatedDate = DateTime.Now }; user.Login = model.Login; user.Password = BCryptHelper.HashPassword(model.Password, BCryptHelper.GenerateSalt(12)); user.Email = model.Email; user.FirstName = model.FirstName; user.LastName = model.LastName; user.Description = model.Description; user.Karma = model.Karma; if(model.Id == 0) UnitOfWork.Users.Add(user); UnitOfWork.SaveChanges(); return RedirectToAction("Index"); }
public ActionResult Edit(int? id = null) { var user = id.HasValue ? UnitOfWork.Users.GetById(id.Value) : new User(); var model = new EditUserModel { Id = user.Id, Login = user.Login, Password = user.Password, Email = user.Email, FirstName = user.FirstName, LastName = user.LastName, Description = user.Description, Karma = user.Karma }; return View(model); }