Esempio n. 1
0
        public void Add(int studentId)
        {
            int           majorCourse = 0;
            SqlConnection conn        = DB.Connection();

            conn.Open();

            if (this.GetDepartmentId() == Student.Find(studentId).GetDepartmentId())
            {
                majorCourse = 1;
            }

            SqlCommand cmd = new SqlCommand("INSERT INTO courses_students (courses_id, students_id, completed, major) VALUES (@CourseId, @StudentId, @Completed, @Major);", conn);

            cmd.Parameters.Add(new SqlParameter("@CourseId", this.GetId()));
            cmd.Parameters.Add(new SqlParameter("@StudentId", studentId.ToString()));
            cmd.Parameters.Add(new SqlParameter("@Completed", "0"));
            cmd.Parameters.Add(new SqlParameter("@Major", majorCourse));

            cmd.ExecuteNonQuery();

            if (conn != null)
            {
                conn.Close();
            }
        }
Esempio n. 2
0
        public HomeModule()
        {
            Get["/"] = _ => {
                return(View["index.cshtml", ModelMaker()]);
            };

            Post["/add-department"] = _ => {
                Department newDepartment = new Department(Request.Form["department-name"]);
                newDepartment.Save();
                return(View["index.cshtml", ModelMaker()]);
            };

            Post["/add-course"] = _ => {
                Course newCourse = new Course(Request.Form["course-name"], Request.Form["course-number"], Request.Form["department-id"]);
                newCourse.Save();
                return(View["index.cshtml", ModelMaker()]);
            };

            Get["/students"] = _ =>
            {
                Dictionary <string, object> model = ModelMaker();
                model.Add("Students", Student.GetAll());
                return(View["students.cshtml", model]);
            };

            Post["students/{id}"] = parameters =>
            {
                Student.Find(parameters.id).AddCourse(Request.Form["course-id"]);
                Dictionary <string, object> model = ModelMaker();
                model.Add("Students", Student.GetAll());
                return(View["students.cshtml", model]);
            };

            Patch["students/{id}"] = parameters =>
            {
                Student.Find(parameters.id).UpdateCourseGrade(Request.Form["course-id"], Request.Form["course-grade"]);
                Dictionary <string, object> model = ModelMaker();
                model.Add("Students", Student.GetAll());
                return(View["students.cshtml", model]);
            };

            Delete["students/{studentId}/course/{id}"] = parameters =>
            {
                Student.Find(parameters.studentId).DeleteCourse(parameters.id);
                Dictionary <string, object> model = ModelMaker();
                model.Add("Students", Student.GetAll());
                return(View["students.cshtml", model]);
            };

            Post["/add-student"] = _ => {
                Student newStudent = new Student(Request.Form["student-name"], Request.Form["enrollment-date"], Request.Form["department-id"]);
                newStudent.Save();
                Dictionary <string, object> model = ModelMaker();
                model.Add("Students", Student.GetAll());
                return(View["students.cshtml", model]);
            };
        }
Esempio n. 3
0
        public void Test_Find_FindsStudentInDatabase()
        {
            Student testStudent = new Student("Jim", new DateTime(2011, 12, 20));

            testStudent.Save();
            Student foundStudent = Student.Find(testStudent.GetId());

            Assert.Equal(testStudent, foundStudent);
        }
Esempio n. 4
0
        public void Test_Find_FindsStudentInDb()
        {
            Student newStudent = new Student("Jo Bob", testDate);

            newStudent.Save();

            Student foundStudent = Student.Find(newStudent.Id);

            Assert.Equal(newStudent, foundStudent);
        }
Esempio n. 5
0
        public void Find_FindsStudentInDatabase_True()
        {
            Student testStudent = new Student("John", new DateTime(2017, 06, 13));

            testStudent.Save();

            Student foundStudent = Student.Find(testStudent.GetId());

            Assert.Equal(testStudent, foundStudent);
        }
Esempio n. 6
0
        public void Student_Find_ReturnStudentObject()
        {
            Student newStudent = new Student("Johnny English", "2001-09-21", 1);

            newStudent.Save();

            Student foundStudent = Student.Find(newStudent.GetId());

            Assert.Equal(newStudent, foundStudent);
        }
        public void Test_Find_FindsStudentInDatabase()
        {
            //Arrange
            Student testStudent = new Student("Lucille Ball", DateTime.Today);

            testStudent.Save();
            //Act
            Student foundStudent = Student.Find(testStudent.GetId());

            //Assert
            Assert.Equal(testStudent, foundStudent);
        }
Esempio n. 8
0
        public void Test_Find_FindsTaskinDatablase()
        {
            //Arrange
            Student testStudent = new Student("John");

            testStudent.Save();

            //Act
            Student foundStudent = Student.Find(testStudent.GetId());

            //Asswert
            Assert.Equal(testStudent, foundStudent);
        }
        public void Find_FindsStudentInDatabase_true()
        {
            //Arrange
            Student testStudent = new Student("Annie", "3/2/2014");

            testStudent.Save();

            //Act
            Student result = Student.Find(testStudent.Id);

            //Assert
            Assert.Equal(testStudent, result);
        }
Esempio n. 10
0
        public void Test_FindFindsStudentsInDatabase()
        {
            //Arrange
            Student testStudent = new Student("Britton", "2010-09-01");

            testStudent.Save();

            //Act
            Student result = Student.Find(testStudent.GetId());

            //Assert
            Assert.Equal(testStudent, result);
        }
Esempio n. 11
0
        public void Find_SelectOneStudentFromDB_Equals()
        {
            //Arrange
            DateTime enrollmentDate = new DateTime(2016, 12, 13);
            Student  newStudent     = new Student("Brian", enrollmentDate);

            //Act
            newStudent.Save();
            Student foundStudent = Student.Find(newStudent.GetId());

            //Assert
            Assert.Equal(newStudent, foundStudent);
        }
Esempio n. 12
0
 public HomeModule()
 {
     Get["/"] = _ => {
         return(View["index.cshtml"]);
     };
     Get["/courses"] = _ => {
         List <Course> allCourses = Course.GetAll();
         return(View["courses.cshtml", allCourses]);
     };
     Get["/majors"] = _ => {
         List <Major> allMajors = Major.GetAll();
         return(View["majors.cshtml", allMajors]);
     };
     Get["/students"] = _ => {
         List <Student> allStudents = Student.GetAll();
         return(View["students.cshtml", allStudents]);
     };
     Get["/students/form"] = _ => {
         List <Major> allMajors = Major.GetAll();
         return(View["student_form.cshtml", allMajors]);
     };
     Post["/student/form/submit"] = _ => {
         DateTime enrollmentDate = (DateTime)Request.Form["enrollment-date"];
         Student  newStudent     = new Student(Request.Form["student-name"], enrollmentDate, Request.Form["major-name"]);
         newStudent.Save();
         return(View["index.cshtml"]);
     };
     Get["/student/{id}"] = parameters => {
         Dictionary <string, object> myDict = new Dictionary <string, object>();
         Student      foundStudent          = Student.Find(parameters.id);
         string       majorName             = (Major.Find(foundStudent.MajorId)).Name;
         List <Major> allMajors             = Major.GetAll();
         myDict.Add("student", foundStudent);
         myDict.Add("majors", allMajors);
         myDict.Add("majorName", majorName);
         return(View["student_details.cshtml", myDict]);
     };
     Patch["/student/form/edit/{id}"] = parameters => {
         Dictionary <string, object> myDict = new Dictionary <string, object>();
         Student foundStudent = Student.Find(parameters.id);
         foundStudent.Edit(Request.Form["student-name"], Request.Form["enrollment-date"], Request.Form["major-name"]);
         string       majorName = (Major.Find(foundStudent.MajorId)).Name;
         List <Major> allMajors = Major.GetAll();
         myDict.Add("student", foundStudent);
         myDict.Add("majors", allMajors);
         myDict.Add("majorName", majorName);
         return(View["student_details.cshtml", myDict]);
     };
 }
Esempio n. 13
0
        public HomeModule()
        {

            Get["/"] =_=>
            {
                return View["index.cshtml"];
            };

            Get["/students"]= _ => {
                List<Student> allStudents = Student.GetAll();
                return View["students.cshtml", allStudents];
            };

            Post["/students"] = _ =>
            {
                Student newStudent = new Student(Request.Form["student-name"], Request.Form["student-enrollment"]);
                newStudent.Save();
                List<Student> allStudents = Student.GetAll();
                return View["students.cshtml", allStudents];
            };

            Get["/courses"]= _ => {
                List<Course> allCourses = Course.GetAll();
                return View["courses.cshtml", allCourses];
            };

            Post["/courses"] = _ =>
            {
                Course newCourse = new Course(Request.Form["course-name"], Request.Form["course-number"]);
                newCourse.Save();
                List<Course> allCourses = Course.GetAll();
                return View["courses.cshtml", allCourses];
            };

            Get["/departments"]= _ => {
                List<Department> allDepartments = Department.GetAll();
                return View["departments.cshtml", allDepartments];
            };

            Post["/departments"] = _ =>
            {
                Department newDepartment = new Department(Request.Form["department-major"]);
                newDepartment.Save();
                List<Department> allDepartments = Department.GetAll();
                return View["departments.cshtml", allDepartments];
            };

            Get["/departments/{id}"] = parameter =>{
                Department foundDepartment = Department.Find(parameter.id);
                List<string> courses = new List<string>{};
                List<string> students = new List<string>{};
                foreach(var course in foundDepartment.GetCourses())
                {
                    courses.Add(course.GetName());
                };
                foreach(var student in foundDepartment.GetStudents())
                {
                    students.Add(student.GetName());
                };
                Dictionary<string, List<string>> departmentDeets = new Dictionary<string, List<string>>{{"courses", courses}, {"students", students}};
                return View["department.cshtml", departmentDeets];
            };

            Get["courses/{id}"] = parameters => {
                Dictionary<string, object> model = new Dictionary<string, object>();
                Course SelectedCourse = Course.Find(parameters.id);
                List<Student> CourseStudents = SelectedCourse.GetStudents();
                List<Student> AllStudents = Student.GetAll();
                model.Add("course", SelectedCourse);
                model.Add("courseStudents", CourseStudents);
                model.Add("allStudents", AllStudents);
                return View["course.cshtml", model];
            };

            Get["students/{id}"] = parameters => {
                Dictionary<string, object> model = new Dictionary<string, object>();
                Student SelectedStudent = Student.Find(parameters.id);
                List<Student> StudentCourses = SelectedStudent.GetCompletedCourses();
                List<Student> AllStudents = Student.GetAll();
                model.Add("student", SelectedStudent);
                model.Add("studentCourses", StudentCourses);
                model.Add("allStudents", AllStudents);
                return View["student.cshtml", model];
            };



            // Post["course/add_student"] = _ => {
            //        Student student = Student.Find(Request.Form["student-id"]);
            //        Course course = Course.Find(Request.Form["course-id"]);
            //        course.AddStudent(student);
            //        return View["course.cshtml"];
            //    };

            // Post["student/add_course"] = _ => {
            //    Student student = Student.Find(Request.Form["student-id"]);
            //    Course course = Course.Find(Request.Form["course-id"]);
            //    student.AddCourse(course);
            //    return View["student.cshtml"];
            // };
        }
Esempio n. 14
0
 public HomeModule()
 {
     Get["/"] = _ =>
     {
         return(View["index.cshtml"]);
     };
     Get["/students"] = _ =>
     {
         List <Student> allStudents = Student.GetAll();
         return(View["students.cshtml", allStudents]);
     };
     Get["/students/add_new"] = _ =>
     {
         List <Course> allCourses = Course.GetAll();
         return(View["new_student.cshtml", allCourses]);
     };
     Post["/students/"] = _ =>
     {
         string   name           = Request.Form["student-name"];
         DateTime enrollmentDate = (DateTime)Request.Form["date"];
         Student  newStudent     = new Student(name, enrollmentDate);
         newStudent.Save();
         List <Student> allStudents = Student.GetAll();
         return(View["students.cshtml", allStudents]);
     };
     Get["/students/{id}"] = parameters =>
     {
         Student newStudent = Student.Find(parameters.id);
         return(View["student.cshtml", newStudent]);
     };
     Delete["/students/remove"] = _ =>
     {
         int studentId = int.Parse(Request.Form["student-id"]);
         Student.DeleteStudent(studentId);
         List <Student> allStudents = Student.GetAll();
         return(View["students.cshtml", allStudents]);
     };
     Get["/courses"] = _ =>
     {
         List <Course> allCourses = Course.GetAll();
         return(View["courses.cshtml", allCourses]);
     };
     Get["/courses/add_new"] = _ =>
     {
         List <Student> allStudents = Student.GetAll();
         return(View["new_course.cshtml", allStudents]);
     };
     Post["/courses"] = _ =>
     {
         string name        = Request.Form["name"];
         string number      = Request.Form["number"];
         string description = Request.Form["description"];
         Course newCourse   = new Course(name, number, description);
         newCourse.Save();
         List <Course> allCourses = Course.GetAll();
         return(View["courses.cshtml", allCourses]);
     };
     Get["/courses/{id}"] = parameters =>
     {
         Course foundCourse = Course.Find(parameters.id);
         return(View["course.cshtml", foundCourse]);
     };
     Delete["/courses/remove"] = _ =>
     {
         int courseId = int.Parse(Request.Form["course-id"]);
         Course.DeleteCourse(courseId);
         List <Course> allCourses = Course.GetAll();
         return(View["courses.cshtml", allCourses]);
     };
 }
        public HomeModule()
        {
            Get["/"] = _ => {
                return(View["index.cshtml"]);
            };
            Get["/courses"] = _ => {
                List <Course> allCourses = Course.GetAll();
                return(View["all_courses.cshtml", allCourses]);
            };

            Get["/courses/new"] = _ => {
                return(View["course_add.cshtml"]);
            };

            Post["/courses"] = _ => {
                Course newCourse = new Course(Request.Form["course-name"], Request.Form["course-number"]);
                newCourse.Save();
                List <Course> allCourses = Course.GetAll();

                return(View["all_courses.cshtml", allCourses]);
            };

            Get["/students"] = _ => {
                List <Student> allStudents = Student.GetAll();
                return(View["all_students.cshtml", allStudents]);
            };

            Get["/students/new"] = _ => {
                return(View["student_add.cshtml"]);
            };

            Post["/students"] = _ => {
                Student newStudent = new Student(Request.Form["student-name"], Request.Form["enrollment-date"]);
                newStudent.Save();
                List <Student> allStudents = Student.GetAll();
                return(View["all_students.cshtml", allStudents]);
            };

            Get["/courses/{id}/{number}"] = parameters => {
                Dictionary <string, object> model = new Dictionary <string, object> {
                };
                Course SelectedCourse             = Course.Find(parameters.id);
                var    studentsInCourse           = SelectedCourse.GetStudents();
                var    allStudents = Student.GetAll();
                model.Add("course", SelectedCourse);
                model.Add("students", studentsInCourse);
                model.Add("allStudents", allStudents);
                return(View["course.cshtml", model]);
            };

            Post["/courses/{id}/{number}"] = parameters => {
                Student newStudent     = Student.Find(Request.Form["all-students"]);
                Course  selectedCourse = Course.Find(parameters.id);
                selectedCourse.AddStudent(newStudent);
                Dictionary <string, object> model = new Dictionary <string, object> {
                };
                var studentsInCourse = selectedCourse.GetStudents();
                var allStudents      = Student.GetAll();
                model.Add("course", selectedCourse);
                model.Add("students", studentsInCourse);
                model.Add("allStudents", allStudents);
                return(View["course.cshtml", model]);
            };

            Get["/students/{id}/{name}"] = parameters => {
                Dictionary <string, object> model = new Dictionary <string, object> {
                };
                Student       SelectedStudent     = Student.Find(parameters.id);
                List <Course> studentCourses      = SelectedStudent.GetCourses();
                var           allCourses          = Course.GetAll();
                model.Add("student", SelectedStudent);
                model.Add("courses", studentCourses);
                model.Add("allCourses", allCourses);
                return(View["student.cshtml", model]);
            };

            Post["/students/{id}/{name}"] = parameters => {
                Course  selectedCourse  = Course.Find(Request.Form["all-courses"]);
                Student SelectedStudent = Student.Find(parameters.id);
                selectedCourse.AddStudent(SelectedStudent);
                Dictionary <string, object> model = new Dictionary <string, object> {
                };
                var studentCourses = SelectedStudent.GetCourses();
                var allCourses     = Course.GetAll();
                model.Add("student", SelectedStudent);
                model.Add("courses", studentCourses);
                model.Add("allCourses", allCourses);
                return(View["student.cshtml", model]);
            };
        }
        public HomeModule()
        {
            Get["/"] = _ => {
                return(View["/index.cshtml"]);
            };

            Get["/courses"] = _ => {
                List <Course> allCourses = Course.GetAll();
                return(View["all_courses.cshtml", allCourses]);
            };
            Post["/courses"] = _ => {
                int StudentId = int.Parse(Request.Form["student"]);
                int CourseId  = int.Parse(Request.Form["course"]);
                Course.Enroll(CourseId, StudentId);
                Course newCourse = Course.Find(CourseId);
                return(View["course.cshtml", newCourse]);
            };
            Get["/unenroll"] = _ => {
                return(View["/registration.cshtml"]);
            };
            Post["/unenroll"] = _ => {
                int StudentId = int.Parse(Request.Form["student"]);
                int CourseId  = int.Parse(Request.Form["course"]);
                Course.UnEnroll(CourseId, StudentId);
                return(View["/registration.cshtml"]);
            };

            Get["/courses/new"] = _ => {
                return(View["new_course_form.cshtml"]);
            };

            Post["/courses/new"] = _ => {
                string courseName   = Request.Form["course-name"];
                string courseNumber = Request.Form["course-number"];
                Course newCourse    = new Course(courseName, courseNumber);
                newCourse.Save();
                List <Course> allCourses = Course.GetAll();
                return(View["all_courses.cshtml", allCourses]);
            };

            Get["/courses/{id}"] = parameters => {
                Course foundCourse = Course.Find(parameters.id);
                return(View["course.cshtml", foundCourse]);
            };

            Get["/students"] = _ => {
                List <Student> allStudents = Student.GetAll();
                return(View["all_students.cshtml", allStudents]);
            };

            Get["/students/new"] = _ => {
                return(View["new_student_form.cshtml"]);
            };

            Post["/students/new"] = _ => {
                string   studentName    = Request.Form["student-name"];
                DateTime enrollmentDate = (DateTime)Request.Form["enrollment-date"];
                Student  newStudent     = new Student(studentName, enrollmentDate);
                newStudent.Save();
                List <Student> allStudents = Student.GetAll();
                return(View["all_students.cshtml", allStudents]);
            };

            Get["/students/{id}"] = parameters => {
                Student foundStudent = Student.Find(parameters.id);
                return(View["student.cshtml", foundStudent]);
            };

            Get["/register"] = _ => {
                List <Student> allStudents        = Student.GetAll();
                List <Course>  allCourses         = Course.GetAll();
                Dictionary <string, object> model = new Dictionary <string, object>();
                model.Add("students", allStudents);
                model.Add("courses", allCourses);
                return(View["registration.cshtml", model]);
            };
        }
Esempio n. 17
0
        public HomeModule()
        {
            Get["/"] = _ => {
                return(View["index.cshtml"]);
            };

            Get["/student/add"] = _ => {
                return(View["student_form.cshtml"]);
            };

            Get["/course/add"] = _ => {
                return(View["course_form.cshtml"]);
            };

            Post["/student/add"] = _ => {
                Student newStudent = new Student(Request.Form["name"], Request.Form["doe"]);
                newStudent.Save();
                return(View["success.cshtml"]);
            };

            Post["/course/add"] = _ => {
                Course newCourse = new Course(Request.Form["name"], Request.Form["time"], Request.Form["credits"]);
                newCourse.Save();
                return(View["success.cshtml"]);
            };
            Get["/student/all"] = _ => {
                List <Student> AllStudents = Student.GetAll();
                return(View["student_all.cshtml", AllStudents]);
            };
            Get["/course/all"] = _ => {
                List <Course> AllCourses = Course.GetAll();
                return(View["course_all.cshtml", AllCourses]);
            };
            Get["student/{id}"] = parameters => {
                Dictionary <string, object> model = new Dictionary <string, object>();
                Student       SelectedStudent     = Student.Find(parameters.id);
                List <Course> StudentCourse       = SelectedStudent.GetCourses();
                List <Course> AllCourses          = Course.GetAll();
                model.Add("student", SelectedStudent);
                model.Add("studentCourse", StudentCourse);
                model.Add("allCourses", AllCourses);
                return(View["student.cshtml", model]);
            };
            Get["course/{id}"] = parameters => {
                Dictionary <string, object> model = new Dictionary <string, object>();
                Course         SelectedCourse     = Course.Find(parameters.id);
                List <Student> CourseStudent      = SelectedCourse.GetStudents();
                List <Student> AllStudents        = Student.GetAll();
                model.Add("course", SelectedCourse);
                model.Add("courseStudent", CourseStudent);
                model.Add("allStudents", AllStudents);
                return(View["course.cshtml", model]);
            };
            Post["students/add_course"] = _ => {
                Course  course  = Course.Find(Request.Form["course-id"]);
                Student student = Student.Find(Request.Form["student-id"]);
                student.AddCourse(course);
                return(View["success.cshtml"]);
            };
            Post["courses/add_student"] = _ => {
                Course  course  = Course.Find(Request.Form["course-id"]);
                Student student = Student.Find(Request.Form["student-id"]);
                course.AddStudent(student);
                return(View["success.cshtml"]);
            };

            Get["/student/delete/{id}"] = parameters => {
                Student chosenStudent = Student.Find(parameters.id);
                return(View["student_delete.cshtml", chosenStudent]);
            };

            Delete["/student/delete/{id}"] = parameters => {
                Student chosenStudent = Student.Find(parameters.id);
                chosenStudent.Delete();
                return(View["success.cshtml"]);
            };
        }
Esempio n. 18
0
        public HomeModule()
        {
            Get["/"] = _ => {
                return(View["index.cshtml"]);
            };

            Get["/students"] = _ => {
                List <Student> allStudents = Student.GetAll();
                return(View["students.cshtml", allStudents]);
            };

            Post["/students"] = _ => {
                var newStudent = new Student(Request.Form["student"]);
                newStudent.Save();
                var allStudents = Student.GetAll();
                return(View ["students.cshtml", allStudents]);
            };

            Get["/student/{studentId}"] = parameters => {
                Dictionary <string, object> model = new Dictionary <string, object>();
                Student       newStudent          = Student.Find(parameters.studentId);
                List <Course> studentCourses      = newStudent.GetCourses();
                model.Add("student", newStudent);
                model.Add("all_courses", Course.GetAll());
                model.Add("courses", studentCourses);
                return(View["student.cshtml", model]);
            };

            Get["/courses"] = _ => {
                List <Course> allCourses = Course.GetAll();
                return(View["courses.cshtml", allCourses]);
            };

            Post["/courses"] = _ => {
                var newCourse = new Course(Request.Form["course"]);
                newCourse.Save();
                var allCourses = Course.GetAll();
                return(View ["courses.cshtml", allCourses]);
            };

            Get["/course/{courseId}"] = parameters => {
                Dictionary <string, object> model = new Dictionary <string, object>();
                Course         newCourse          = Course.Find(parameters.courseId);
                List <Student> courseStudents     = newCourse.GetStudents();
                model.Add("course", newCourse);
                model.Add("all_students", Student.GetAll());
                model.Add("students", courseStudents);
                return(View["course.cshtml", model]);
            };

            Get["/student/course_added"] = _ => {
                return(View["course_added.cshtml"]);
            };

            Post["/student/course_added"] = _ => {
                Course  course  = Course.Find(Request.Form["course-list"]);
                Student student = Student.Find(Request.Form["student"]);
                student.AddCourse(course);
                return(View["course_added.cshtml"]);
            };

            Post["/course/student_added"] = _ => {
                Course  course  = Course.Find(Request.Form["course-list"]);
                Student student = Student.Find(Request.Form["student"]);
                student.AddCourse(course);
                return(View["student_added.cshtml"]);
            };
        }
Esempio n. 19
0
        public HomeModule()
        {
            Get["/"] = _ => {
                return(View["index.cshtml"]);
            };

            Get["/courses"] = _ => {
                List <Course> allCourses = Course.GetAll();
                return(View["courses.cshtml", allCourses]);
            };

            Get["/students"] = _ => {
                List <Student> allStudents = Student.GetAll();
                return(View["students.cshtml", allStudents]);
            };

            Get["/students/new"] = _ => {
                return(View["student_form.cshtml"]);
            };

            Post["/students/new"] = _ => {
                string  studentName = Request.Form["student-name"];
                string  studentDate = Request.Form["student-date"];
                Student newStudent  = new Student(studentName, studentDate);
                newStudent.Save();
                return(View["student.cshtml", newStudent]);
            };

            Get["/courses/new"] = _ => {
                return(View["course_form.cshtml"]);
            };

            Post["/courses/new"] = _ => {
                string courseName   = Request.Form["course-name"];
                string courseNumber = Request.Form["course-number"];
                Course newCourse    = new Course(courseName, courseNumber);
                newCourse.Save();
                return(View["course.cshtml", newCourse]);
            };

            Get["/student/{student_id}"] = parameters => {
                Student selectedStudent = Student.Find(parameters.student_id);
                return(View["student.cshtml", selectedStudent]);
            };

            Get["/course/{course_id}"] = parameters => {
                Course selectedCourse = Course.Find(parameters.course_id);
                return(View["course.cshtml", selectedCourse]);
            };

            Get["/course/{id}/students/add"] = parameters => {
                Dictionary <string, object> model = new Dictionary <string, object> ();
                Course         selectedCourse     = Course.Find(parameters.id);
                List <Student> currentStudents    = selectedCourse.GetStudents();
                List <Student> allStudents        = Student.GetAll();

                List <Student> availableStudents = new List <Student> {
                };
                foreach (Student student in allStudents)
                {
                    // If a student is already in the course it will return an index of 0 or above.
                    if (currentStudents.IndexOf(student) < 0)
                    {
                        availableStudents.Add(student);
                    }
                }
                model.Add("course", selectedCourse);
                model.Add("available-students", availableStudents);
                return(View["AddStudentToCourse.cshtml", model]);
            };

            Post["/course/{id}/students/added"] = parameters => {
                int     studentId       = Request.Form["student-id"];
                Student selectedStudent = Student.Find(studentId);

                Course selectedCourse = Course.Find(parameters.id);
                selectedCourse.AddStudent(selectedStudent);

                return(View["student_added.cshtml", selectedCourse]);
            };

            Get["/student/{id}/courses/add"] = parameters => {
                Dictionary <string, object> model = new Dictionary <string, object> ();
                Student       selectedStudent     = Student.Find(parameters.id);
                List <Course> currentCourses      = selectedStudent.GetCourses();
                List <Course> allCourses          = Course.GetAll();

                List <Course> availableCourses = new List <Course> {
                };
                foreach (Course course in allCourses)
                {
                    // If the student is already enrolled in a course it will return an index of 0 or above.
                    if (currentCourses.IndexOf(course) < 0)
                    {
                        availableCourses.Add(course);
                    }
                }
                model.Add("student", selectedStudent);
                model.Add("available-courses", availableCourses);
                return(View["AddCourseToStudent.cshtml", model]);
            };

            Post["/student/{id}/courses/added"] = parameters => {
                int    courseId       = Request.Form["course-id"];
                Course selectedCourse = Course.Find(courseId);

                Student selectedStudent = Student.Find(parameters.id);
                selectedStudent.AddCourse(selectedCourse);

                return(View["course_added.cshtml", selectedStudent]);
            };
        }
Esempio n. 20
0
        public HomeModule()
        {
            Get["/"] = _ => {
                return(View["index.cshtml"]);
            };
            Get["/course/new"] = _ => {
                return(View["new-course-form.cshtml"]);
            };
            Post["/course/new"] = _ => {
                Course newCourse = new Course(Request.Form["courseName"], Request.Form["courseNumber"]);
                newCourse.Save();
                List <Course> allCourses = Course.GetAll();
                return(View["courses.cshtml", allCourses]);
            };
            Get["/courses"] = _ => {
                List <Course> allCourses = Course.GetAll();
                return(View["courses.cshtml", allCourses]);
            };
            Get["/student/new"] = _ => {
                return(View["new-student-form.cshtml"]);
            };
            Post["/student/new"] = _ => {
                Student newStudent = new Student(Request.Form["studentName"], Request.Form["enrollmentDate"]);
                newStudent.Save();
                List <Student> allStudents = Student.GetAll();
                return(View["students.cshtml", allStudents]);
            };
            Get["/course/{id}"] = parameters => {
                Course currentCourse = Course.Find(parameters.id);
                Dictionary <string, object> model = new Dictionary <string, object>();
                List <Student> allStudents        = Student.GetAll();
                List <Student> courseStudents     = currentCourse.GetAllStudents();
                model.Add("course", currentCourse);
                model.Add("allStudents", allStudents);
                model.Add("courseStudents", courseStudents);
                return(View["course.cshtml", model]);
            };
            Patch["/course/update/{id}"] = parameters => {
                Course currentCourse = Course.Find(parameters.id);
                currentCourse.UpdateName(Request.Form["newName"]);
                Dictionary <string, object> model = new Dictionary <string, object>();
                List <Student> allStudents        = Student.GetAll();
                List <Student> courseStudents     = currentCourse.GetAllStudents();
                model.Add("course", currentCourse);
                model.Add("allStudents", allStudents);
                model.Add("courseStudents", courseStudents);
                return(View["course.cshtml", model]);
            };
            Delete["/course/delete/{id}"] = parameters => {
                Course currentCourse = Course.Find(parameters.id);
                currentCourse.Delete();
                List <Course> allCourses = Course.GetAll();
                return(View["courses.cshtml", allCourses]);
            };
            Post["/course/add_student"] = _ => {
                Course currentCourse = Course.Find(Request.Form["courseId"]);
                currentCourse.AddStudent(Request.Form["studentId"]);

                Dictionary <string, object> model = new Dictionary <string, object>();
                List <Student> allStudents        = Student.GetAll();
                List <Student> courseStudents     = currentCourse.GetAllStudents();
                model.Add("course", currentCourse);
                model.Add("allStudents", allStudents);
                model.Add("courseStudents", courseStudents);
                return(View["course.cshtml", model]);
            };
            Get["/student/{id}"] = parameters => {
                Student currentStudent            = Student.Find(parameters.id);
                Dictionary <string, object> model = new Dictionary <string, object>();
                List <Course> allCourses          = Course.GetAll();
                List <Course> studentCourses      = currentStudent.GetAllCourses();
                model.Add("student", currentStudent);
                model.Add("allCourses", allCourses);
                model.Add("studentCourses", studentCourses);
                return(View["student.cshtml", model]);
            };
            Post["/student/add_course"] = _ => {
                Student currentStudent = Student.Find(Request.Form["studentId"]);
                currentStudent.AddCourse(Request.Form["courseId"]);
                Dictionary <string, object> model = new Dictionary <string, object>();
                List <Course> allCourses          = Course.GetAll();
                List <Course> studentCourses      = currentStudent.GetAllCourses();
                model.Add("student", currentStudent);
                model.Add("allCourses", allCourses);
                model.Add("studentCourses", studentCourses);
                return(View["student.cshtml", model]);
            };
            Delete["/student/delete/{id}"] = parameters => {
                Student currentStudent = Student.Find(parameters.id);
                currentStudent.Delete();
                List <Student> allStudents = Student.GetAll();
                return(View["students.cshtml", allStudents]);
            };
            Get["/students"] = _ => {
                List <Student> allStudents = Student.GetAll();
                return(View["students.cshtml", allStudents]);
            };
            Patch["/student/update/{id}"] = parameters => {
                Student currentStudent = Student.Find(parameters.id);
                currentStudent.UpdateName(Request.Form["newName"]);
                Dictionary <string, object> model = new Dictionary <string, object>();
                List <Course> allCourses          = Course.GetAll();
                List <Course> studentCourses      = currentStudent.GetAllCourses();
                model.Add("student", currentStudent);
                model.Add("allCourses", allCourses);
                model.Add("studentCourses", studentCourses);
                return(View["student.cshtml", model]);
            };
        }