Exemplo n.º 1
0
        public ActionResult Verify(UserEdit user)
        {
            ModelState.Remove("IsVerified");

            _userRepository.VerifyStudent(user.Id);

            user.IsVerified = true;
            user.FillGroupList(_groupRepository.GetOpenGroups());

            return(View("~/Views/User/Edit.cshtml", user));
        }
Exemplo n.º 2
0
        public ActionResult Restore(UserEdit user)
        {
            ModelState.Remove("IsDismissed");

            _userRepository.RestoreStudent(user.Id);

            user.IsDismissed = false;
            user.FillGroupList(_groupRepository.GetOpenGroups());

            return(View("~/Views/User/Edit.cshtml", user));
        }
Exemplo n.º 3
0
        public ActionResult Edit(long id = 0)
        {
            var user = _userRepository.GetUserById(id);

            // Преподаватели могут редактировать только студентов
            if (user.Role != UserRole.Student && !User.IsInRole(UserRole.Administrator))
            {
                return(RedirectToAction("Index", "Home", new { Message = UserMessages.ACCES_DENIED }));
            }

            var model = new UserEdit(user);

            model.FillGroupList(_groupRepository.GetOpenGroups());

            return(View(model));
        }
Exemplo n.º 4
0
        public ActionResult Save(UserEdit model)
        {
            if (model.Role != UserRole.Student && !User.IsInRole(UserRole.Administrator))
            {
                return(RedirectToAction("Index", "Home", new { Message = UserMessages.ACCES_DENIED }));
            }

            if (ModelState.IsValid)
            {
                User user = _userRepository.GetUserById(model.Id);
                user = model.PrepareEntity(user, _groupRepository);
                if (_userRepository.TryEditUser(user))
                {
                    return(RedirectToAction("Index"));
                }
            }

            model.FillGroupList(_groupRepository.GetOpenGroups());
            ViewBag.Message = "Не удалось сохранить пользователя, попробуйте указать другие данные";
            return(View("~/Views/User/Edit.cshtml", model));
        }