Esempio n. 1
0
        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));
        }
Esempio n. 2
0
 public ActionResult Create(Course course)
 {
     if (ModelState.IsValid)
     {
         _courseProducer.Create(course);
         return(RedirectToAction("Index"));
     }
     return(View(course));
 }
Esempio n. 3
0
        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));
        }
Esempio n. 4
0
        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));
        }
Esempio n. 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));
        }
Esempio n. 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));
        }
Esempio n. 7
0
 public void Add(T entity)
 {
     _producer.Create(entity);
 }
Esempio n. 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));
        }
Esempio n. 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();
            }
        }