private GPFSession GPFSessionRead(SqlDataReader reader) { if (reader == null) { return(null); } GPFSession session = new GPFSession(); if (reader.HasRows) { while (reader.Read()) { session.Id = (int)reader["gpf_id"]; session.Account = new Account() { Id = (int)reader["acc_id"] }; if (reader["deg_id"] != DBNull.Value) { session.Degree = new Degree() { Id = (int)reader["deg_id"] } } ; if (reader["con_id"] != DBNull.Value) { session.Concentration = new Concentration() { Id = (int)reader["con_id"] } } ; if (reader["gpf_entering_year"] != DBNull.Value && reader["gpf_entering_quarter"] != DBNull.Value) { session.EnteringTerm = new AcademicTerm((int)reader["gpf_entering_year"], reader["gpf_entering_quarter"].ToString().Trim()); } if (reader["gpf_classes_per_quarter"] != DBNull.Value) { session.ClassesPerQuarter = (int)reader["gpf_classes_per_quarter"]; } if (reader["gpf_class_delivery"] != DBNull.Value) { session.ClassDeliveryOption = ClassDelivery.GetClassDelivery(reader["gpf_class_delivery"].ToString().Trim()); } } } return(session); }
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")); }