//Create a class
        public ActionResult Create()
        {
            //only allow classes to be created for current semester or later
            var cur = db.Semesters.Single(s => s.semester_id == db.Current_Semester.FirstOrDefault().semester_id);

            var viewModel = new ClassManagerCreateViewModel
            {
                Semesters = db.Semesters.Where(c=> c.start_date.CompareTo(cur.start_date) >= 0).ToList(),
                Classes = new Class(),
                Times = db.Timeslots.ToList(),
                Courses = db.Courses.ToList(),
                Depts = db.Departments.ToList(),
                Users = db.Users.Where(u => u.Role_Type.Any(r=>r.role_name == "Instructor")).OrderBy(u=> u.last_name).ToList()
            };

            return View(viewModel);
        }
        public ActionResult Create(Class newClass, FormCollection collection)
        {
            //error message for section id uniqueness
            ViewData["IDerror"] = "";

            try
            {
                newClass.semster_id = collection["sem_list"];
                newClass.course_id = collection["course_list"];
                newClass.sect_id = int.Parse(collection["Classes.sect_id"]?? "0");
                newClass.room_id = collection["Classes.room_id"];
                newClass.inst_id = collection["inst_list"];
                newClass.capacity = int.Parse(collection["Classes.capacity"]);
                newClass.waitlist_capacity = int.Parse(collection["Classes.waitlist_capacity"]);
                newClass.days = (collection["days_chk"] ?? "0").Split(',').Sum(x => Int32.Parse(x));
                newClass.timeslot_id = int.Parse(collection["time_list"]);
                newClass.has_children = false;
                newClass.parent_class_id = null;

                if (db.Classes.Any(c => c.sect_id == newClass.sect_id && c.semster_id == newClass.semster_id && c.course_id == newClass.course_id))
                {
                    ViewData["IDerror"] = "Section IDs must be unique for each course ID and semester.";
                    throw new Exception();
                }

                //add new class to database and save changes
                db.AddToClasses(newClass);
                db.SaveChanges();

                //return to Index
                return RedirectToAction("Index");
            }
            catch (Exception ex)
            {
                var cur = db.Semesters.Single(s => s.semester_id == db.Current_Semester.FirstOrDefault().semester_id);

                var viewModel = new ClassManagerCreateViewModel
                {
                    Semesters = db.Semesters.Where(c => c.start_date.CompareTo(cur.start_date) >= 0).ToList(),
                    Classes = new Class(),
                    Times = db.Timeslots.ToList(),
                    Courses = db.Courses.ToList(),
                    Depts = db.Departments.ToList(),
                    Users = db.Users.Where(u => u.Role_Type.Any(r => r.role_name == "Instructor")).OrderBy(u => u.last_name).ToList()
                };

                return View(viewModel);
            }
        }