public void DeleteStudent(int studentId)
 {
     using (KaplanTestPrepEntities con = new KaplanTestPrepEntities()) {
         var student = con.Students.Where(x => x.StudentId == studentId).FirstOrDefault();
         if (student != null) {
             con.Students.Remove(student);
             con.SaveChanges();
         }
     }
 }
 public void DeleteEnrollment(int courseId, int studentId)
 {
     using (KaplanTestPrepEntities con = new KaplanTestPrepEntities()) {
         var enrollment = con.Enrollments.Where(x => x.CourseId == courseId && x.StudentId == studentId).FirstOrDefault();
         if (enrollment != null) {
             con.Enrollments.Remove(enrollment);
             con.SaveChanges();
         }
     }
 }
 public void DeleteCourse(int courseId)
 {
     using (KaplanTestPrepEntities con = new KaplanTestPrepEntities()) {
         var course = con.Courses.Where(x => x.CourseId == courseId).FirstOrDefault();
         if (course != null) {
             con.Courses.Remove(course);
             con.SaveChanges();
         }
     }
 }
 public void DeleteAll()
 {
     using (KaplanTestPrepEntities con = new KaplanTestPrepEntities()) {
         var enrollments = con.Enrollments;
         if (enrollments != null) {
             foreach (var e in enrollments) {
                 con.Enrollments.Remove(e);
             }
             con.SaveChanges();
         }
     }
 }
 public void AddCourse(CourseData courseData)
 {
     using (KaplanTestPrepEntities con = new KaplanTestPrepEntities()) {
         var course = new Course {
             Title = courseData.Title,
             StartDate = courseData.StartDate,
             MaxEnrollmentCount = courseData.MaxEnrollmentCount
         };
         con.Courses.Add(course);
         con.SaveChanges();
     }
 }
 public void DeleteAll()
 {
     using (KaplanTestPrepEntities con = new KaplanTestPrepEntities()) {
         var students = con.Students;
         if (students != null) {
             foreach (var s in students) {
                 con.Students.Remove(s);
             }
             con.SaveChanges();
         }
     }
 }
 public void DeleteAll()
 {
     using (KaplanTestPrepEntities con = new KaplanTestPrepEntities()) {
         var courses = con.Courses;
         if (courses != null) {
             foreach (var c in courses) {
                 con.Courses.Remove(c);
             }
             con.SaveChanges();
         }
     }
 }
 public void AddStudent(StudentData studentData)
 {
     using (KaplanTestPrepEntities con = new KaplanTestPrepEntities()) {
         var student = new Student {
             FirstName = studentData.FirstName,
             LastName = studentData.LastName,
             DateCreated = studentData.DateCreated
         };
         con.Students.Add(student);
         con.SaveChanges();
     }
 }
        public void AddEnrollment(EnrollmentData enrollmentData)
        {
            using (KaplanTestPrepEntities con = new KaplanTestPrepEntities()) {

                var enrollment = new Enrollment {
                    CourseId = enrollmentData.CourseId,
                    StudentId = enrollmentData.StudentId
                };
                con.Enrollments.Add(enrollment);
                con.SaveChanges();
            }
        }
        public EnrollmentData GetEnrollment(int enrollmentId)
        {
            EnrollmentData enrollmentData = null;

            using (KaplanTestPrepEntities con = new KaplanTestPrepEntities()) {
                var enrollment = con.Enrollments.Where(x => x.EnrollmentId == enrollmentId).FirstOrDefault();
                if (enrollment != null) {
                    enrollmentData.EnrollmentId = enrollment.EnrollmentId;
                    enrollmentData.StudentId = (int) enrollment.StudentId;
                    enrollmentData.CourseId = (int) enrollment.CourseId;
                }
            }
            return enrollmentData;
        }
 public CourseData GetCourse(int courseId)
 {
     CourseData courseData = null;
     using (KaplanTestPrepEntities con = new KaplanTestPrepEntities()) {
         var course = con.Courses.Where(x => x.CourseId == courseId).FirstOrDefault();
         if (course != null) {
             courseData.CourseId = course.CourseId;
             courseData.Title = course.Title;
             courseData.StartDate = course.StartDate;
             courseData.MaxEnrollmentCount = course.MaxEnrollmentCount;
         }
     }
     return courseData;
 }
        public StudentData GetStudent(int studentId)
        {
            StudentData studentData = null;

            using (KaplanTestPrepEntities con = new KaplanTestPrepEntities()) {
                var student = con.Students.Where(x => x.StudentId == studentId).FirstOrDefault();
                if (student != null) {
                    studentData.StudentId = student.StudentId;
                    studentData.FirstName = student.FirstName;
                    studentData.LastName = student.LastName;
                    studentData.DateCreated = student.DateCreated;
                }
            }
            return studentData;
        }
 public IEnumerable<CourseData> GetAllCourses()
 {
     List<CourseData> allCourses = new List<CourseData>();
     using (KaplanTestPrepEntities con = new KaplanTestPrepEntities()) {
         var courses = con.Courses;
         if (courses != null) {
             foreach (var c in courses) {
                 allCourses.Add(new CourseData {
                     CourseId = c.CourseId,
                     Title = c.Title,
                     MaxEnrollmentCount = c.MaxEnrollmentCount
                 });
             }
         }
     }
     return allCourses;
 }
 public IEnumerable<EnrollmentData> GetAllEnrollments()
 {
     List<EnrollmentData> allEnrollments = new List<EnrollmentData>();
     using (KaplanTestPrepEntities con = new KaplanTestPrepEntities()) {
         var enrollments = con.Enrollments;
         if (enrollments != null) {
             foreach (var e in enrollments) {
                 allEnrollments.Add(new EnrollmentData {
                     EnrollmentId = e.EnrollmentId,
                     StudentId = (int) e.StudentId,
                     CourseId = (int) e.CourseId
                 });
             }
         }
     }
     return allEnrollments;
 }
 public IEnumerable<StudentData> GetAllStudents()
 {
     List<StudentData> allStudents = new List<StudentData>();
     using (KaplanTestPrepEntities con = new KaplanTestPrepEntities()) {
         var students = con.Students;
         if (students != null) {
             foreach (Student s in students) {
                 allStudents.Add(new StudentData {
                     StudentId = s.StudentId,
                     FirstName = s.FirstName,
                     LastName = s.LastName,
                     DateCreated = s.DateCreated
                 });
             }
         }
         return allStudents;
     }
 }
        public StudentData GetStudent(string firstName, string lastName)
        {
            StudentData studentData = null;

            using (KaplanTestPrepEntities con = new KaplanTestPrepEntities()) {
                var student = con.Students.Where(x => x.FirstName.ToLower() == firstName.ToLower()
                                                    && x.LastName.ToLower() == lastName.ToLower()).FirstOrDefault();

                if (student != null) {
                    studentData.StudentId = student.StudentId;
                    studentData.FirstName = student.FirstName;
                    studentData.LastName = student.LastName;
                    studentData.DateCreated = student.DateCreated;
                }
            }
            return studentData;
        }
        public bool UpdateStudent(StudentData studentData)
        {
            using (KaplanTestPrepEntities con = new KaplanTestPrepEntities()) {
                var student = con.Students.Where(x => x.StudentId == studentData.StudentId).FirstOrDefault();
                if (student != null) {
                    student.FirstName = studentData.FirstName;
                    student.LastName = studentData.LastName;
                    student.DateCreated = studentData.DateCreated;

                    con.SaveChanges();
                    return true;
                }
            }
            return false;
        }
 public bool UpdateEnrollment(EnrollmentData enrollmentData)
 {
     using (KaplanTestPrepEntities con = new KaplanTestPrepEntities()) {
         var enrollment = con.Enrollments.Where(x => x.EnrollmentId == enrollmentData.EnrollmentId).FirstOrDefault();
         if (enrollment != null) {
             enrollment.StudentId = enrollmentData.StudentId;
             enrollment.CourseId = enrollmentData.CourseId;
             con.SaveChanges();
             return true;
         }
     }
     return false;
 }
        public int GetNumberEnrolled(string courseTitle)
        {
            int enrollmentCount = 0;

            using (KaplanTestPrepEntities con = new KaplanTestPrepEntities()) {
                var course = con.Courses.Where(x => x.Title.ToLower() == courseTitle.ToLower()).FirstOrDefault();
                if (course != null) {
                    enrollmentCount = course.Enrollments.Count();
                }
            }
            return enrollmentCount;
        }
        public EnrollmentData GetEnrollment(string studentFirstName, string studentLastName, string courseTitle)
        {
            EnrollmentData enrollmentData = null;
            using (KaplanTestPrepEntities con = new KaplanTestPrepEntities()) {
                var student = con.Students.Where(x => x.FirstName.ToLower() == studentFirstName.ToLower()
                                                        && x.LastName.ToLower() == studentLastName.ToLower()).FirstOrDefault();

                Course course = con.Courses.Where(x => x.Title.ToLower() == courseTitle.ToLower()).FirstOrDefault();
                if (student != null && course != null) {
                    var enrollment = con.Enrollments.Where(x => x.StudentId == student.StudentId
                                                                    && x.CourseId == course.CourseId).FirstOrDefault();
                    enrollmentData.EnrollmentId = enrollment.EnrollmentId;
                    enrollmentData.StudentId = (int) enrollment.StudentId;
                    enrollmentData.CourseId = enrollmentData.CourseId;
                }
            }
            return enrollmentData;
        }
        public bool UpdateCourse(CourseData courseData)
        {
            using (KaplanTestPrepEntities con = new KaplanTestPrepEntities()) {
                var course = con.Courses.Where(x => x.CourseId == courseData.CourseId).FirstOrDefault();
                if (course != null) {
                    course.Title = courseData.Title;
                    course.StartDate = courseData.StartDate;
                    course.MaxEnrollmentCount = courseData.MaxEnrollmentCount;

                    con.SaveChanges();
                    return true;
                }
            }
            return false;
        }