public ActionResult Create(Plan plan) { if (ModelState.IsValid) { //plans.Add(plan); //plans.SaveChanges(); Plan newPlan = _planProducer.Create(plan).First(); //Plan newPlan = plans.Find(plan.ID); //Plan newPlan = _planProducer.Get(new Plan() { ID = id }); newPlan = _planProducer.Get(newPlan); //newPlan.degreeProgram = degreePrograms.Find(newPlan.degreeProgramID); ChangeDegreeProgram(newPlan); return(RedirectToAction("Index")); } ViewBag.degreeProgramID = new SelectList(_degreeProgramProducer.GetAll().AsEnumerable(), "ID", "degreeProgramName", plan.degreeProgramID); //ViewBag.degreeProgramID = new SelectList(degreePrograms.GetAll().AsEnumerable(), "ID", "degreeProgramName", plan.degreeProgramID); if (webSecurity.CurrentUser.IsInRole("Advisor")) { ViewBag.userID = new SelectList(users.GetAll().AsEnumerable(), "ID", "username"); ViewBag.Advisor = true; } else { ViewBag.userID = webSecurity.CurrentUserId; ViewBag.Advisor = false; } var semesterList = _semesterProducer.GetAll().Where(i => i.standard == true); ViewBag.semesterID = new SelectList(semesterList.AsEnumerable(), "ID", "semesterName"); return(View(plan)); }
public ActionResult Create(Course course) { if (ModelState.IsValid) { _courseProducer.Create(course); return(RedirectToAction("Index")); } return(View(course)); }
public ActionResult Create(DegreeProgram degreeprogram) { if (ModelState.IsValid) { //degreePrograms.Add(degreeprogram); //degreePrograms.SaveChanges(); degreeprogram = _degreeProgramProducer.Create(degreeprogram).First(); degreeprogram = _degreeProgramProducer.Get(degreeprogram); return(RedirectToAction("Edit", new { id = degreeprogram.ID })); } return(View(degreeprogram)); }
public ActionResult Create(ElectiveList electivelist) { if (ModelState.IsValid) { //electiveLists.Add(electivelist); //electiveLists.SaveChanges(); electivelist = _electiveListProducer.Create(electivelist).First(); electivelist = _electiveListProducer.Get(electivelist); return(RedirectToAction("Edit", new { id = electivelist.ID })); //return RedirectToAction("Index"); } return(View(electivelist)); }
public ActionResult Edit(ElectiveList electivelist, IEnumerable <ElectiveListCourse> ElectiveListCourses) { if (ModelState.IsValid) { //ElectiveList elistAttached = electiveLists.Where(elist => elist.ID == electivelist.ID).First(); ElectiveList elistAttached = _electiveListProducer.Get(new ElectiveList() { ID = electivelist.ID }); electivelist.courses = elistAttached.courses; if (ElectiveListCourses == null) { ElectiveListCourses = new List <ElectiveListCourse>(); } //figure out the courses that were removed from the list LinkedList <ElectiveListCourse> toRemove = new LinkedList <ElectiveListCourse>(); foreach (ElectiveListCourse course in elistAttached.courses) { if (course.ID > 0) { if (!ElectiveListCourses.Contains(course)) { //ElectiveListCourse elcourseAttached = electiveListCourses.Where(reqc => reqc.ID == course.ID).First(); ElectiveListCourse elcourseAttached = _electiveListCourseProducer.Get(new ElectiveListCourse() { ID = course.ID }); toRemove.AddFirst(elcourseAttached); } } } //remove those courses from the database while (toRemove.Count > 0) { ElectiveListCourse removeme = toRemove.First(); toRemove.RemoveFirst(); //electiveListCourses.Remove(removeme); _electiveListCourseProducer.Remove(removeme); } //clear the list electivelist.courses.Clear(); //add the existing courses to the database foreach (ElectiveListCourse elcourse in ElectiveListCourses) { ElectiveListCourse elcourseAttached = null;; if (elcourse.ID > 0) { //elcourseAttached = electiveListCourses.Where(reqc => reqc.ID == elcourse.ID).First(); elcourseAttached = _electiveListCourseProducer.Get(new ElectiveListCourse() { ID = elcourse.ID }); //electiveListCourses.UpdateValues(elcourseAttached, elcourse); _electiveListCourseProducer.Update(elcourse); } else { //if (courses.Find(elcourse.courseID) != null) if (_courseProducer.Get(new Course() { ID = elcourse.courseID }) != null) { //electiveListCourses.Add(elcourse); //electiveListCourses.SaveChanges(); _electiveListCourseProducer.Create(elcourse); //elcourseAttached = electiveListCourses.Where(reqc => reqc.ID == elcourse.ID).First(); elcourseAttached = _electiveListCourseProducer.Get(new ElectiveListCourse() { ID = elcourse.ID }); } } if (elcourseAttached != null) { electivelist.courses.Add(elcourseAttached); } } //electiveLists.UpdateValues(elistAttached, electivelist); //electiveLists.SaveChanges(); _electiveListProducer.Update(electivelist); return(RedirectToAction("Index")); } if (ElectiveListCourses != null) { foreach (ElectiveListCourse course in ElectiveListCourses) { if (course.courseID > 0) { //course.course = courses.Find(course.courseID); course.course = _courseProducer.Get(new Course() { ID = course.courseID }); } } } electivelist.courses = ElectiveListCourses.ToList(); return(View(electivelist)); }
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)); }
public void Add(T entity) { _producer.Create(entity); }
public ActionResult Edit(DegreeProgram degreeprogram, IEnumerable <RequiredCourse> RequiredCourses, IEnumerable <ElectiveCourse> ElectiveCourses) { if (ModelState.IsValid) { //DegreeProgram degreeAttached = degreePrograms.Where(degree => degree.ID == degreeprogram.ID).First(); DegreeProgram degreeAttached = _degreeProgramProducer.Get(new DegreeProgram() { ID = degreeprogram.ID }); degreeprogram.requiredCourses = degreeAttached.requiredCourses; degreeprogram.electiveCourses = degreeAttached.electiveCourses; if (RequiredCourses == null) { RequiredCourses = new List <RequiredCourse>(); } if (ElectiveCourses == null) { ElectiveCourses = new List <ElectiveCourse>(); } //figures out which courses were deleted from the form LinkedList <RequiredCourse> toRemove = new LinkedList <RequiredCourse>(); foreach (RequiredCourse course in degreeAttached.requiredCourses) { if (course.ID > 0) { if (!RequiredCourses.Contains(course)) { //RequiredCourse reqcourseAttached = requiredCourses.Where(reqc => reqc.ID == course.ID).First(); RequiredCourse reqcourseAttached = _requiredCourseProducer.Get(new RequiredCourse() { ID = course.ID }); toRemove.AddFirst(reqcourseAttached); } } } //deletes those courses from the list while (toRemove.Count > 0) { RequiredCourse removeme = toRemove.First(); toRemove.RemoveFirst(); //requiredCourses.Remove(removeme); _requiredCourseProducer.Remove(removeme); } //clears the list degreeprogram.requiredCourses.Clear(); //adds the courses that exist to the list foreach (RequiredCourse reqcourse in RequiredCourses) { RequiredCourse reqcourseAttached = null;; if (reqcourse.ID > 0) { //reqcourseAttached = requiredCourses.Where(reqc => reqc.ID == reqcourse.ID).First(); reqcourseAttached = _requiredCourseProducer.Get(new RequiredCourse() { ID = reqcourse.ID }); //requiredCourses.UpdateValues(reqcourseAttached, reqcourse); _requiredCourseProducer.Update(reqcourse); } else { //if (courses.Find(reqcourse.courseID) != null) if (_courseProducer.Get(new Course() { ID = reqcourse.courseID }) != null) { //requiredCourses.Add(reqcourse); //requiredCourses.SaveChanges(); _requiredCourseProducer.Create(reqcourse); //reqcourseAttached = requiredCourses.Where(reqc => reqc.ID == reqcourse.ID).First(); reqcourseAttached = _requiredCourseProducer.Get(new RequiredCourse() { ID = reqcourse.ID }); } } if (reqcourseAttached != null) { degreeprogram.requiredCourses.Add(reqcourseAttached); } } //figures out which elective lists were deleted from the list LinkedList <ElectiveCourse> toRemoveMe = new LinkedList <ElectiveCourse>(); foreach (ElectiveCourse course in degreeAttached.electiveCourses) { if (!ElectiveCourses.Contains(course)) { //ElectiveCourse elcourseAttached = electiveCourses.Where(elc => elc.ID == course.ID).First(); ElectiveCourse elcourseAttached = _electiveCourseProducer.Get(new ElectiveCourse() { ID = course.ID }); toRemoveMe.AddFirst(elcourseAttached); } } //remove those elective lists from the list while (toRemoveMe.Count > 0) { ElectiveCourse removeme = toRemoveMe.First(); toRemoveMe.RemoveFirst(); //electiveCourses.Remove(removeme); _electiveCourseProducer.Remove(removeme); } //clear the list degreeprogram.electiveCourses.Clear(); //add the existing elective lists to the list foreach (ElectiveCourse elcourse in ElectiveCourses) { ElectiveCourse elcourseAttached = null;; if (elcourse.ID > 0) { //elcourseAttached = electiveCourses.Where(elc => elc.ID == elcourse.ID).First(); elcourseAttached = _electiveCourseProducer.Get(new ElectiveCourse() { ID = elcourse.ID }); //electiveCourses.UpdateValues(elcourseAttached, elcourse); _electiveCourseProducer.Update(elcourse); } else { //if (electiveLists.Find(elcourse.electiveListID) != null) if (_electiveListProducer.Get(new ElectiveList() { ID = elcourse.electiveListID }) != null) { //electiveCourses.Add(elcourse); //electiveCourses.SaveChanges(); _electiveCourseProducer.Create(elcourse); //elcourseAttached = electiveCourses.Where(elc => elc.ID == elcourse.ID).First(); elcourseAttached = _electiveCourseProducer.Get(new ElectiveCourse() { ID = elcourse.ID }); } } if (elcourseAttached != null) { degreeprogram.electiveCourses.Add(elcourseAttached); } } //degreePrograms.UpdateValues(degreeAttached, degreeprogram); //degreePrograms.SaveChanges(); _degreeProgramProducer.Update(degreeprogram); return(RedirectToAction("Index")); } if (RequiredCourses != null) { foreach (RequiredCourse course in RequiredCourses) { if (course.courseID > 0) { //course.course = courses.Find(course.courseID); course.course = _courseProducer.Get(new Course() { ID = course.courseID }); } } } degreeprogram.requiredCourses = RequiredCourses.ToList(); if (ElectiveCourses != null) { foreach (ElectiveCourse course in ElectiveCourses) { if (course.electiveListID > 0) { //course.electiveList = electiveLists.Find(course.electiveListID); course.electiveList = _electiveListProducer.Get(new ElectiveList() { ID = course.electiveListID }); } } } degreeprogram.electiveCourses = ElectiveCourses.ToList(); return(View(degreeprogram)); }
private void ChangeDegreeProgram(Plan plan) { //List<PlanCourse> plans = planCourses.Where(i => i.planID == plan.ID.ToList(); List <PlanCourse> plans = _planCourseProducer.GetAll().Where(pc => pc.planID == plan.ID).ToList(); foreach (PlanCourse planCourse in plans) { _planCourseProducer.Remove(planCourse); //planCourses.Remove(planCourse); //planCourses.SaveChanges(); } Dictionary <int, int> semesterOrders = new Dictionary <int, int>(); Dictionary <int, int> semesterMap = new Dictionary <int, int>(); int nowSem = 1; //List<Semester> semesterList = semesters.Where(i => i.ID >= plan.semesterID).ToList(); List <Semester> semesterList = _semesterProducer.GetAll().Where(s => s.ID >= plan.semesterID).ToList(); foreach (Semester sem in semesterList) { if (sem.standard == true) { semesterMap.Add(nowSem, sem.ID); semesterOrders.Add(nowSem, 0); nowSem++; } } List <RequiredCourse> requirements = plan.degreeProgram.requiredCourses.ToList(); foreach (RequiredCourse req in requirements) { PlanCourse pcourse = new PlanCourse(); pcourse.planID = plan.ID; int order = semesterOrders[req.semester]; pcourse.order = order; semesterOrders[req.semester] = order + 1; pcourse.semesterID = semesterMap[req.semester]; pcourse.courseID = req.courseID; pcourse.credits = req.course.courseHours; _planCourseProducer.Create(pcourse); //planCourses.Add(pcourse); //planCourses.SaveChanges(); } List <ElectiveCourse> elects = plan.degreeProgram.electiveCourses.ToList(); foreach (ElectiveCourse elect in elects) { PlanCourse pcourse = new PlanCourse(); pcourse.planID = plan.ID; int order = semesterOrders[elect.semester]; pcourse.order = order; semesterOrders[elect.semester] = order + 1; pcourse.semesterID = semesterMap[elect.semester]; pcourse.electiveListID = elect.electiveListID; pcourse.credits = elect.credits.ToString(); _planCourseProducer.Create(pcourse); //planCourses.Add(pcourse); //planCourses.SaveChanges(); } }