예제 #1
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;
        }
예제 #2
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));
     }
 }
예제 #3
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);
        }