public ActionResult Create(Course course) { if (ModelState.IsValid) { _courseProducer.Create(course); return RedirectToAction("Index"); } return View(course); }
public ActionResult Create(Course course) { if (ModelState.IsValid) { courses.Add(course); courses.SaveChanges(); return RedirectToAction("Index"); } return View(course); }
public void CourseHoursCalculatesVariableProperly() { Course course = new Course() { minHours = 1, maxHours = 1, variable = true }; Assert.AreEqual("Variable", course.courseHours); }
public void CourseHoursCalculatesSingleHoursProperly() { Course course = new Course() { minHours = 1, maxHours = 1, variable = false }; Assert.AreEqual("1", course.courseHours); }
public void CourseHeaderFormattedProperly() { Course course = new Course(){ courseNumber = 101, coursePrefix = "ABCDE", courseTitle = "Lorem Ipsum Title Test" }; String courseHeader = course.coursePrefix + " " + course.courseNumber + " - " + course.courseTitle; Assert.AreEqual(courseHeader, course.courseHeader); }
public void CourseCatalogNumberFormattedProperly() { Course course = new Course() { courseNumber = 101, coursePrefix = "ABCDE", }; String courseCatalogNumber = course.coursePrefix + " " + course.courseNumber; Assert.AreEqual(courseCatalogNumber, course.courseCatalogNumber); }
private Course createTempCourse() { Course temp = new Course() { ID = 4, courseNumber = 789, coursePrefix = "CCC", courseTitle = "Test Created Course", courseDescription = "Created Course for testing Methods", minHours = 3, maxHours = 4 }; return temp; }
public ActionResult Edit(Course course, IEnumerable<PrerequisiteCourse> PrerequisiteCourses) { if (ModelState.IsValid) { Course cAttached = courses.Where(c => c.ID == course.ID).First(); course.prerequisites = cAttached.prerequisites; if (PrerequisiteCourses == null) { PrerequisiteCourses = new List<PrerequisiteCourse>(); } if (course.prerequisites == null) { course.prerequisites = new List<PrerequisiteCourse>(); } //figure out the courses that were removed from the list LinkedList<PrerequisiteCourse> toRemove = new LinkedList<PrerequisiteCourse>(); foreach (PrerequisiteCourse pcourse in course.prerequisites) { if (course.ID > 0) { if (!PrerequisiteCourses.Contains(pcourse)) { PrerequisiteCourse elcourseAttached = prerequisiteCourses.Where(reqc => reqc.ID == pcourse.ID).First(); toRemove.AddFirst(elcourseAttached); } } } //remove those courses from the database while (toRemove.Count > 0) { PrerequisiteCourse removeme = toRemove.First(); toRemove.RemoveFirst(); prerequisiteCourses.Remove(removeme); } //clear the list course.prerequisites.Clear(); //add the existing courses to the database foreach (PrerequisiteCourse pcourse in PrerequisiteCourses) { PrerequisiteCourse pcourseAttached = null; ; if (pcourse.ID > 0) { pcourseAttached = prerequisiteCourses.Where(reqc => reqc.ID == pcourse.ID).First(); prerequisiteCourses.UpdateValues(pcourseAttached, pcourse); } else { if (courses.Find(pcourse.prerequisiteCourseID) != null) { prerequisiteCourses.Add(pcourse); prerequisiteCourses.SaveChanges(); pcourseAttached = prerequisiteCourses.Where(reqc => reqc.ID == pcourse.ID).First(); } } if (pcourseAttached != null) { course.prerequisites.Add(pcourseAttached); } } courses.UpdateValues(cAttached, course); courses.SaveChanges(); return RedirectToAction("Index"); } if (PrerequisiteCourses != null) { foreach (PrerequisiteCourse pcourse in PrerequisiteCourses) { if (pcourse.prerequisiteCourseID> 0) { pcourse.prerequisiteCourse = courses.Find(pcourse.prerequisiteCourseID); } } } course.prerequisites = PrerequisiteCourses.ToList(); return View(course); }
public static Object GetRegularObject(Type type, Object o, bool continueDeserializing = true) { Object return_object = null; if (type == typeof(DegreeProgram)) { SerializableModels.DegreeProgram dp = (SerializableModels.DegreeProgram) o; DegreeProgram newItem = new DegreeProgram { ID = dp.ID, degreeProgramName = dp.degreeProgramName, degreeProgramDescription = dp.degreeProgramDescription, }; if (dp.requiredCourses != null && dp.electiveCourses != null) { newItem.requiredCourses = new List<RequiredCourse>(); newItem.electiveCourses = new List<ElectiveCourse>(); foreach (SerializableModels.RequiredCourse rc in dp.requiredCourses) { newItem.requiredCourses.Add((RequiredCourse)GetRegularObject(typeof(RequiredCourse), rc, true)); } foreach (SerializableModels.ElectiveCourse ec in dp.electiveCourses) { newItem.electiveCourses.Add((ElectiveCourse)GetRegularObject(typeof(ElectiveCourse), ec, true)); } } return_object = newItem; } else if (type == typeof(RequiredCourse)) { SerializableModels.RequiredCourse rq = (SerializableModels.RequiredCourse) o; RequiredCourse newItem = new RequiredCourse { ID = rq.ID, courseID = rq.courseID, degreeProgramID = rq.degreeProgramID, semester = rq.semester, }; newItem.course = (Course)GetRegularObject(typeof(Course), rq.course, true); return_object = newItem; } else if (type == typeof(ElectiveCourse)) { SerializableModels.ElectiveCourse eq = (SerializableModels.ElectiveCourse) o; ElectiveCourse newItem = new ElectiveCourse { ID = eq.ID, electiveListID = eq.electiveListID, degreeProgramID = eq.degreeProgramID, semester = eq.semester, credits = eq.credits, }; newItem.electiveList = (ElectiveList)GetRegularObject(typeof(ElectiveList), eq.electiveList, true); return_object = newItem; } else if (type == typeof(Course)) { SerializableModels.Course c = (SerializableModels.Course) o; Course newItem = new Course { ID = c.ID, coursePrefix = c.coursePrefix, courseNumber = c.courseNumber, courseTitle = c.courseTitle, courseDescription = c.courseDescription, minHours = c.minHours, maxHours = c.maxHours, undergrad = c.undergrad, graduate = c.graduate, variable = c.variable, }; if (continueDeserializing) { List<PrerequisiteCourse> prereqsList = new List<PrerequisiteCourse>(); List<PrerequisiteCourse> prereqsForList = new List<PrerequisiteCourse>(); foreach (SerializableModels.PrerequisiteCourse pc in c.prerequisites) { prereqsList.Add((PrerequisiteCourse)GetRegularObject(typeof(PrerequisiteCourse), pc, true)); } foreach (SerializableModels.PrerequisiteCourse pc in c.prerequisiteFor) { prereqsForList.Add((PrerequisiteCourse)GetRegularObject(typeof(PrerequisiteCourse), pc, true)); } newItem.prerequisites = prereqsList.ToArray(); newItem.prerequisiteFor = prereqsForList.ToArray(); } return_object = newItem; } else if (type == typeof(ElectiveList)) { SerializableModels.ElectiveList eList = (SerializableModels.ElectiveList) o; ElectiveList newItem = new ElectiveList { ID = eList.ID, electiveListName = eList.electiveListName, shortName = eList.shortName, }; return_object = newItem; } else if (type == typeof(ElectiveListCourse)) { SerializableModels.ElectiveListCourse elc = (SerializableModels.ElectiveListCourse) o; ElectiveListCourse newItem = new ElectiveListCourse { ID = elc.ID, courseID = elc.courseID, electiveListID = elc.electiveListID, course = (Course)GetRegularObject(typeof(Course), elc.course, true), }; return_object = newItem; } else if (type == typeof(PrerequisiteCourse)) { SerializableModels.PrerequisiteCourse pc = (SerializableModels.PrerequisiteCourse) o; PrerequisiteCourse newItem = new PrerequisiteCourse { ID = pc.ID, prerequisiteCourseID = pc.prerequisiteCourseID, prerequisiteForCourseID = pc.prerequisiteForCourseID, prerequisiteCourse = (Course)GetRegularObject(typeof(Course),pc.prerequisiteCourse,false), prerequisiteForCourse = (Course)GetRegularObject(typeof(Course), pc.prerequisiteForCourse, false), }; return_object = newItem; } else if (type == typeof(Plan)) { SerializableModels.Plan plan = (SerializableModels.Plan) o; Plan newItem = new Plan { ID = plan.ID, planName = plan.planName, degreeProgramID = plan.degreeProgramID, userID = plan.userID, semesterID = plan.semesterID, semester = plan.semester, }; if (continueDeserializing) { newItem.degreeProgram = (DegreeProgram)GetRegularObject(typeof(DegreeProgram), plan.degreeProgram, false); newItem.user = (User)GetRegularObject(typeof(User), plan.user, true); List<PlanCourse> planCourses = new List<PlanCourse>(); foreach (SerializableModels.PlanCourse planCourse in plan.planCourses) { planCourses.Add((PlanCourse)GetRegularObject(typeof(PlanCourse), planCourse, true)); } newItem.planCourses = planCourses.ToArray(); } return_object = newItem; } else if (type == typeof(User)) { SerializableModels.User user = (SerializableModels.User) o; User newItem = new User { ID = user.ID, username = user.username, realName = user.realName, }; if (continueDeserializing && user.plans != null) { List<Plan> plans = new List<Plan>(); foreach (SerializableModels.Plan plan in user.plans) { plans.Add((Plan)GetRegularObject(typeof(Plan), plan, false)); } } return_object = newItem; } else if (type == typeof(PlanCourse)) { SerializableModels.PlanCourse pc = (SerializableModels.PlanCourse) o; PlanCourse newItem = new PlanCourse { ID = pc.ID, notes = pc.notes, planID = pc.planID, courseID = pc.courseID, electiveListID = pc.electiveListID, semesterID = pc.semesterID, order = pc.order, semester = pc.semester, credits = pc.credits, }; if (continueDeserializing) { newItem.plan = (Plan)GetRegularObject(typeof(Plan), pc.plan, false); if (pc.course.courseDescription != null) { newItem.course = (Course)GetRegularObject(typeof(Course), pc.course, true); } newItem.electiveList = (ElectiveList)GetRegularObject(typeof(ElectiveList), pc.electiveList, false); } return_object = newItem; } else { throw new NotImplementedException(); } return return_object; }
public ActionResult Edit(Course course, IEnumerable<PrerequisiteCourse> PrerequisiteCourses) { var courseList = _courseProducer.GetAll(); if (ModelState.IsValid) { Course cAttached = courseList.AsQueryable().Where(c => c.ID == course.ID).First(); course.prerequisites = cAttached.prerequisites; if (PrerequisiteCourses == null) { PrerequisiteCourses = new List<PrerequisiteCourse>(); } if (course.prerequisites == null) { course.prerequisites = new List<PrerequisiteCourse>(); } //figure out the courses that were removed from the list LinkedList<PrerequisiteCourse> toRemove = new LinkedList<PrerequisiteCourse>(); foreach (PrerequisiteCourse pcourse in course.prerequisites) { if (course.ID > 0) { if (!PrerequisiteCourses.Contains(pcourse)) { //PrerequisiteCourse elcourseAttached = prerequisiteCourses.Where(reqc => reqc.ID == pcourse.ID).First(); PrerequisiteCourse elcourseAttached = _prerequisiteCourseProducer.Get(new PrerequisiteCourse() { ID = pcourse.ID }); toRemove.AddFirst(elcourseAttached); } } } //remove those courses from the database while (toRemove.Count > 0) { PrerequisiteCourse removeme = toRemove.First(); toRemove.RemoveFirst(); //prerequisiteCourses.Remove(removeme); _prerequisiteCourseProducer.Remove(removeme); } //clear the list course.prerequisites.Clear(); //add the existing courses to the database foreach (PrerequisiteCourse pcourse in PrerequisiteCourses) { PrerequisiteCourse pcourseAttached = null; ; if (pcourse.ID > 0) { //pcourseAttached = prerequisiteCourses.Where(reqc => reqc.ID == pcourse.ID).First(); pcourseAttached = _prerequisiteCourseProducer.Get(new PrerequisiteCourse() { ID = pcourse.ID }); //prerequisiteCourses.UpdateValues(pcourseAttached, pcourse); _prerequisiteCourseProducer.Update(pcourse); //TODO: check if works correctly or need to switch w/ pcourseAttached } else { if (courseList.FirstOrDefault(x => x.ID == pcourse.prerequisiteCourseID) != null) { //prerequisiteCourses.Add(pcourse); //prerequisiteCourses.SaveChanges(); _prerequisiteCourseProducer.Create(pcourse); //pcourseAttached = prerequisiteCourses.Where(reqc => reqc.ID == pcourse.ID).First(); pcourseAttached = _prerequisiteCourseProducer.Get(new PrerequisiteCourse() { ID = pcourse.ID }); } } if (pcourseAttached != null) { course.prerequisites.Add(pcourseAttached); } } //courses.UpdateValues(cAttached, course); //courses.SaveChanges(); return RedirectToAction("Index"); } if (PrerequisiteCourses != null) { foreach (PrerequisiteCourse pcourse in PrerequisiteCourses) { if (pcourse.prerequisiteCourseID> 0) { //pcourse.prerequisiteCourse = courses.Find(pcourse.prerequisiteCourseID); pcourse.prerequisiteCourse = courseList.FirstOrDefault(x => x.ID == pcourse.prerequisiteCourseID); } } } course.prerequisites = PrerequisiteCourses.ToList(); return View(course); }