public ActionResult Create(Plan plan)
        {
            if (ModelState.IsValid)
            {
                int id = Request<Plan>.Add(plan, "A", "B");
                Plan newPlan = Request<Plan>.GetItemByID(id, "A", "B");
                newPlan.degreeProgram = Request<DegreeProgram>.GetItemByID(newPlan.degreeProgramID, "A", "B");
                ChangeDegreeProgram(newPlan);
                return RedirectToAction("Index");
            }

            ViewBag.degreeProgramID = new SelectList(Request<DegreeProgram>.GetAll("A", "B").AsEnumerable(), "ID", "degreeProgramName", plan.degreeProgramID);
            if (webSecurity.CurrentUser.IsInRole("Advisor"))
            {
                ViewBag.userID = new SelectList(Request<User>.GetAllUserRoles("A", "B").AsEnumerable(), "ID", "username");
                ViewBag.Advisor = true;
            }
            else
            {
                ViewBag.userID = webSecurity.CurrentUserId;
                ViewBag.Advisor = false;
            }
            ViewBag.semesterID = new SelectList(Request<Semester>.GetAll("A", "B").Where(i => i.standard == true).AsEnumerable(), "ID", "semesterName");
            return View(plan);
        }
Ejemplo n.º 2
0
 public PlanWithUser(Plan plan, User user)
 {
     this.ID = plan.ID;
     this.planName = plan.planName;
     this.degreeProgramID = plan.degreeProgramID;
     this.degreeProgram = plan.degreeProgram;
     this.userID = plan.userID;
     this.semesterID = plan.semesterID;
     this.semester = plan.semester;
     this.planCourses = plan.planCourses;
     this.username = user.username;
     this.realName = user.realName;
 }
 private Plan createTempPlan()
 {
     Plan temp = new Plan()
     {
         ID = 3,
         planName = "Plan 3",
         degreeProgramID = 2,
         degreeProgram = degreePrograms.Find(2),
         userID = 2,
         //user = users.Find(2),
         semesterID = 2,
         semester = semesters.Find(2),
         planCourses = new Collection<PlanCourse>()
     };
     temp.degreeProgram.requiredCourses = new List<RequiredCourse>();
     temp.degreeProgram.electiveCourses = new List<ElectiveCourse>();
     return temp;
 }
        private void ChangeDegreeProgram(Plan plan)
        {
            List<PlanCourse> plans = Request<PlanCourse>.GetAll("A", "B").Where(i => i.planID == plan.ID).ToList();//planCourses.Where(i => i.planID == plan.ID).ToList();
            foreach (PlanCourse planCourse in plans)
            {
                Request<PlanCourse>.Delete(planCourse.ID, "A", "B");
            }
            Dictionary<int, int> semesterOrders = new Dictionary<int, int>();
            Dictionary<int, int> semesterMap = new Dictionary<int, int>();
            int nowSem = 1;
            List<Semester> semesterList = Request<Semester>.GetAll("A", "B").Where(i => i.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;
                Request<PlanCourse>.Add(pcourse, "A", "B");
            }

            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();
                Request<PlanCourse>.Add(pcourse, "A", "B");
            }
        }