public ActionResult Edit(AdminUserItem item) { try { Service.AdminUser.Save(item); return RedirectToRouteNotify("EditAdminUser", new { id = item.Id }); } catch (ValidationException ex) { AddModelErrors(ex); return View("~/Views/Admin/AdminUsers/Edit.cshtml", item); } }
public AdminUserItem Edit(long id) { var userItem = new AdminUserItem(); if (id != 0) { userItem = Db.Set<tblUser>() .Select(x => new AdminUserItem { Id = x.Id, Email = x.Email, UserName = x.UserName, FirstName = x.FirstName, LastName = x.LastName }) .Single(x => x.Id == id); } return userItem; }
public void Save(AdminUserItem item) { var errors = item.GetValidationErrors(); if (item.Id == 0 && item.Password.IsEmptyOrWhiteSpace()) errors.Add(new DbValidationError("Password", "Необходимо указать пароль для нового пользователя")); errors.ThrowIfHasErrors(); var user = item.Id == 0 ? Db.CreateAndAdd<tblUser>() : Db.Set<tblUser>().Single(x => x.Id == item.Id); user.Email = item.Email; user.FirstName = item.FirstName; user.LastName = item.LastName; if (!item.Password.IsEmptyOrWhiteSpace()) user.Password = HashPassword(item.Password); user.UserName = item.UserName; user.IsAdmin = true; Db.SaveChanges(); item.Id = user.Id; }