public ActionResult Options(GPFViewModel viewModel) { GPFSession session = viewModel.GPFSession; session.EnteringTerm = new AcademicTerm(viewModel.EnteringYear, viewModel.EnteringQuarter); session.ClassesPerQuarter = viewModel.ClassesPerQuarter; session.ClassDeliveryOption = ClassDelivery.GetClassDelivery(viewModel.ClassDeliveryOption); session.ConcentrationCoursesSelected = new List <Course>(); if (viewModel.ConcentrationCoursesSelected != null) { viewModel.ConcentrationCoursesSelected = viewModel.ConcentrationCoursesSelected.Take(4).ToList(); foreach (int courseId in viewModel.ConcentrationCoursesSelected) { session.ConcentrationCoursesSelected.Add(new Course() { Id = courseId }); } } session.ElectiveCoursesSelected = new List <Course>(); if (viewModel.ElectiveCoursesSelected != null) { viewModel.ElectiveCoursesSelected = viewModel.ElectiveCoursesSelected.Take(4).ToList(); foreach (int courseId in viewModel.ElectiveCoursesSelected) { session.ElectiveCoursesSelected.Add(new Course() { Id = courseId }); } } Account account = GetAuthCookieAccount(); Account impersonateAccount = Statics.ImpersonateGet(Session); if (impersonateAccount != null) { account = impersonateAccount; } if (account != null && account.Id > 0) { session.Account = account; _gpfService.SaveSession(session); } TempData["GPFSession"] = session; return(RedirectToAction("Schedule", "GPF")); }
public ActionResult Schedule() { GPFSession session = (GPFSession)TempData["GPFSession"]; if (session == null) { return(RedirectToAction("Options", "GPF")); } session.Degree = _degreeService.GetDegreeById(session.Degree.Id); session.Concentration = session.Degree.Concentrations.Find(x => x.Id == session.Concentration.Id); GPFSchedule schedule = _gpfService.GetSessionSchedule(session); GPFViewModel model = new GPFViewModel() { GPFSession = session, GPFSchedule = schedule }; return(View(model)); }
public ActionResult Options(int?id) { Account account = GetAuthCookieAccount(); Account impersonateAccount = Statics.ImpersonateGet(Session); if (impersonateAccount != null) { account = impersonateAccount; } GPFSession gpfSession = new GPFSession(); if (id.HasValue) { gpfSession = _gpfService.GetSessionById(id.Value); } List <Degree> availableDegrees = new List <Degree>(); availableDegrees = _degreeService.GetDegrees(); if (account != null && account.Id > 0) { gpfSession.Account = account; gpfSession.Degree = (gpfSession.Degree == null) ? account.Degree : gpfSession.Degree; gpfSession.Concentration = (gpfSession.Concentration == null) ? account.Concentration : gpfSession.Concentration; } if (gpfSession.Degree == null && availableDegrees != null) { gpfSession.Degree = availableDegrees[0]; gpfSession.Concentration = gpfSession.Degree.Concentrations[0]; } List <Course> availableConcentrationCourses = new List <Course>(); if (gpfSession.Degree != null) { availableConcentrationCourses = _courseService.GetCoursesByConcentration(gpfSession.Concentration.Id); } List <Course> availableElectiveCourses = new List <Course>(); if (gpfSession.Degree != null && gpfSession.Concentration != null) { availableElectiveCourses = _courseService.GetAllElectivesByConcentration(gpfSession.Concentration.Id); } GPFViewModel model = new GPFViewModel() { GPFSession = gpfSession, AvailableDegrees = availableDegrees, AvailableConcentrationCourses = availableConcentrationCourses, AvailableElectiveCourses = availableElectiveCourses, Impersonating = (impersonateAccount != null) }; if (id.HasValue) { model.EnteringYear = gpfSession.EnteringTerm.Year; model.EnteringQuarter = gpfSession.EnteringTerm.Quarter.Value; model.ClassesPerQuarter = gpfSession.ClassesPerQuarter; model.ClassDeliveryOption = gpfSession.ClassDeliveryOption.Value; } return(View(model)); }