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); }
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"); } }