Пример #1
0
        public ActionResult AddCourseVM(int? id)
        {
            Student student = db.Students.Find(id);
            List<Course> alreadyTaken = student.CoursesTaken.ToList();
            Concentration conc = db.Concentrations.Find(student.Concentration.ID);
            List<BaseCourse> potentialCourses = conc.RequiredCourses.ToList();
            AddCourseViewModel vModel = new AddCourseViewModel(student, potentialCourses);

            List<Course> listCourses = new List<Course>();

            foreach (BaseCourse baseC in potentialCourses)
            {
                Course c = new Course();
                c.BaseCourse = baseC;
                listCourses.Add(c);
            }

            foreach (Course c in alreadyTaken)
            {
                listCourses.RemoveAll(s => s.BaseCourse.ID == c.BaseCourseID);
            }

            vModel.PossibleCourses = listCourses;

            for (int i = 0; i < listCourses.Count; i++)
            {
                var selectList = new SelectList(db.Semesters, "Sname", "Sname", "1");
                this.ViewData[string.Format("PossibleCourses[{0}].Semester", i)] = selectList;

                List<SelectListItem> items = new List<SelectListItem>();
                items.Add(new SelectListItem { Text = "A", Value = "4" });
                items.Add(new SelectListItem { Text = "B", Value = "3" });
                items.Add(new SelectListItem { Text = "C", Value = "2" });
                items.Add(new SelectListItem { Text = "D", Value = "1" });
                items.Add(new SelectListItem { Text = "F", Value = "0" });
                this.ViewData[string.Format("PossibleCourses[{0}].Grade", i)] = items;
                this.ViewData[string.Format("selected[{0}]", i)] = 1;
            }

            return View("AddCourseVM", vModel);
        }
Пример #2
0
        public ActionResult AddCourseVM(AddCourseViewModel vModel)
        {
            Student stu = db.Students.Find(vModel.Student.ID);
            foreach (Course c in vModel.PossibleCourses)
            {
                if (c.Selected)
                {
                    BaseCourse bc = db.BaseCourses.Find(c.BaseCourse.ID);
                    c.BaseCourse = bc;
                    ViewData["grade"] = new SelectList(vModel.PossibleCourses);
                    stu.CoursesTaken.Add(c);

                    db.Entry(c).State = EntityState.Added;
                }
            }

            if (stu != null)
            {
                db.Entry(stu).State = EntityState.Modified;
                db.SaveChanges();
            }

            return RedirectToAction("ListTakenCourses", new { id=stu.ID});
        }