Example #1
0
        public ActionResult AddStudent(string studentId, Student student)
        {
            if (_studentService.CheckExisting(student.Login, TermService.GetCurrent()))
            {
                ModelState.AddModelError("Exists", "Student already exists in the system or login is missing.");
                Message = string.Format("{0} already exists, you can edit the student record or registration by going through the student details page.", student.FullName);
            }

            student.TermCode = TermService.GetCurrent();
            student.AddedBy = CurrentUser.Identity.Name;
            student.TransferValidationMessagesTo(ModelState);

            if (ModelState.IsValid)
            {
                _studentRepository.EnsurePersistent(student);
                Message = string.Format("{0} has been added to the registration system.", student.FullName);
                return this.RedirectToAction(a => a.Index());
            }

            var viewModel = AdminEditStudentViewModel.Create(Repository, _ceremonyService, student, CurrentUser.Identity.Name);
            return View(viewModel);
        }
Example #2
0
        public ActionResult EditStudent(Guid id, Student student)
        {
            var existingStudent = _studentRepository.GetNullableById(id);
            if (existingStudent == null)
            {
                Message = StaticValues.Error_StudentNotFound;
                return this.RedirectToAction<AdminController>(a => a.Index());
            }

            CopyHelper.CopyStudentValues(student, existingStudent);

            student.TransferValidationMessagesTo(ModelState);

            // save the student object
            if (ModelState.IsValid)
            {
                Repository.OfType<Student>().EnsurePersistent(existingStudent);
                Message = "Student has been updated.";
                return this.RedirectToAction<AdminController>(a => a.StudentDetails(id, false));
            }

            var viewModel = AdminEditStudentViewModel.Create(Repository, _ceremonyService, student, CurrentUser.Identity.Name);
            return View(viewModel);
        }