/// <summary>
 /// Creates the registration for the student with the specified student ID.
 /// </summary>
 /// <param name="id">The student ID.</param>
 /// <returns></returns>
 public ActionResult Create(int id)
 {
     var student = _unitOfWork.StudentRepository.GetById(id);
     if (student == null)
     {
         return HttpNotFound();
     }
     var registrationViewModel = new RegistrationViewModel
                                     {
                                         StudentId = id,
                                         SemestersList =
                                             new SelectList(_unitOfWork.SemesterRepository.GetAll(), "Id", "Name"),
                                         DegreesList =
                                             new SelectList(_unitOfWork.DegreeRepository.GetAll(), "Id", "Title"),
                                         DateOfRegistration = DateTime.Now,
                                         StudentFullName = student.FullName
                                     };
     
     return View(registrationViewModel);
 }
        public ActionResult Create(RegistrationViewModel registrationViewModel)
        {
            if (ModelState.IsValid)
            {
                var registration = MapRegistrationViewModelToRegistration(registrationViewModel);
                _unitOfWork.RegistrationRepository.Insert(registration);
                _unitOfWork.RegistrationRepository.Save();
                
                return RedirectToAction("Index", new { id = registrationViewModel.StudentId });
            }

            registrationViewModel.SemestersList = new SelectList(_unitOfWork.SemesterRepository.GetAll(), "Id", "Name", registrationViewModel.SemesterId);
            registrationViewModel.DegreesList = new SelectList(_unitOfWork.DegreeRepository.GetAll(), "Id", "Title", registrationViewModel.DegreeId);
            return View(registrationViewModel);
        }
 private Registration MapRegistrationViewModelToRegistration(RegistrationViewModel registrationsViewModel)
 {
     return new Registration
                {
                    Id = registrationsViewModel.Id,
                    DateOfRegistration = registrationsViewModel.DateOfRegistration,
                    //Degree = _unitOfWork.DegreeRepository.GetById(registrationsViewModel.DegreeId),
                    DegreeId = registrationsViewModel.DegreeId,
                    SchoolYearFrom = registrationsViewModel.SchoolYearFrom,
                    SchoolYearTo = registrationsViewModel.SchoolYearTo,
                    //Semester = _unitOfWork.SemesterRepository.GetById(registrationsViewModel.SemesterId),
                    SemesterId = registrationsViewModel.SemesterId,
                    Student = _unitOfWork.StudentRepository.GetById(registrationsViewModel.StudentId),
                };
 }