예제 #1
0
        public ActionResult DeleteConfirmed(int id)
        {
            Course course = _courseProducer.Get(new Course()
            {
                ID = id
            });

            _courseProducer.Remove(course);
            return(RedirectToAction("Index"));
        }
예제 #2
0
        public ActionResult DeleteConfirmed(int id)
        {
            //ElectiveList electivelist = electiveLists.Find(id);
            ElectiveList electivelist = _electiveListProducer.Get(new ElectiveList()
            {
                ID = id
            });

            //electiveLists.Remove(electivelist);
            _electiveListProducer.Remove(electivelist);
            //electiveLists.SaveChanges();
            return(RedirectToAction("Index"));
        }
예제 #3
0
        public ActionResult DeleteConfirmed(int id)
        {
            //DegreeProgram degreeprogram = degreePrograms.Find(id);
            DegreeProgram degreeprogram = _degreeProgramProducer.Get(new DegreeProgram()
            {
                ID = id
            });

            //degreePrograms.Remove(degreeprogram);
            //degreePrograms.SaveChanges();
            _degreeProgramProducer.Remove(degreeprogram);
            return(RedirectToAction("Index"));
        }
예제 #4
0
        public ActionResult DeleteConfirmed(int id)
        {
            //Plan plan = plans.Find(id);
            Plan plan = _planProducer.Get(new Plan()
            {
                ID = id
            });

            if (webSecurity.CurrentUser.IsInRole("Advisor") || plan.userID == webSecurity.CurrentUserId)
            {
                //plans.Remove(plan);
                //plans.SaveChanges();
                _planProducer.Remove(plan);
            }
            return(RedirectToAction("Index"));
        }
예제 #5
0
        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));
        }
예제 #6
0
        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));
        }
예제 #7
0
 public void Remove(T entity)
 {
     _producer.Remove(entity);
 }
예제 #8
0
        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));
        }
예제 #9
0
        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();
            }
        }