コード例 #1
0
 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);
     }
 }
コード例 #2
0
        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;
        }
コード例 #3
0
        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;
        }