Esempio n. 1
0
        internal Message DeregisterCourseWithCollege(CollegeAndCourseId collegeAndCourseId)
        {
            Message message = new Message();
            StudentCourseCollegeQuery sccQuery = new StudentCourseCollegeQuery();

            if (query.IsCourseRegisteredToCollege(context, collegeAndCourseId.CourseId, collegeAndCourseId.CollegeId))
            {
                try
                {
                    var students = sccQuery.GetAllStudentsFromCourseAndCollege(context, collegeAndCourseId.CourseId, collegeAndCourseId.CollegeId);

                    sccQuery.DeregisterMulitpleStudentfromCourseAndCollege(context, students);

                    query.DeregisterCourseWithCollege(context, new CollegeCourse()
                    {
                        CollegeId = collegeAndCourseId.CollegeId,
                        CourseId  = collegeAndCourseId.CourseId
                    });

                    message.status = true;
                }
                catch (Exception e)
                {
                    message.status  = false;
                    message.message = e.Message;
                }
            }
            else
            {
                message.status  = false;
                message.message = $"The course (id : {collegeAndCourseId.CourseId}), is not registered " +
                                  $"with college (id:{collegeAndCourseId.CollegeId})";
            }
            return(message);
        }
Esempio n. 2
0
        public Message RegisterStudentToCourse(StudentIdCourseId studentIdCourseId)
        {
            Message msg = new Message();

            CourseQuery courseQuery = new CourseQuery();
            StudentCourseCollegeQuery studentCourseCollegeQuery = new StudentCourseCollegeQuery();
            StudentQuery studentQuery = new StudentQuery();


            if (query.IsStudentRegisteredtoCourse(context, studentIdCourseId.StudentId, studentIdCourseId.CourseId))
            {
                msg.status  = false;
                msg.message = "Student is already registered to the course";
            }
            else if (!query.StudentExists(context, studentIdCourseId.StudentId) ||
                     !courseQuery.courseExistsOnId(context, studentIdCourseId.CourseId))
            {
                msg.status  = false;
                msg.message = "The Student/Course is not registered";
            }


            var college = AllotCollege(studentIdCourseId);

            if (college == null)
            {
                msg.status  = false;
                msg.message = "No colleges currently offer this course";
            }

            StudentCourseCollege studentCourseCollege = new StudentCourseCollege()
            {
                CollegeId = college.Id,
                StudentId = studentIdCourseId.StudentId,
                CourseId  = studentIdCourseId.CourseId,
            };

            try
            {
                studentCourseCollegeQuery.RegisterStudentToCourseAndCollege(context, studentCourseCollege);
                var course = courseQuery.GetCourseById(context, studentIdCourseId.CourseId);
                msg.status  = true;
                msg.message = $"Alloted College: {college.Name} (Id : {college.Id})\n for Course : {course.courseName} (id : {course.Id})";
            }
            catch (Exception e)
            {
                msg.status  = false;
                msg.message = $"Internal Error : {e.Message}";
            }

            return(msg);
        }
Esempio n. 3
0
        internal Message DeregisterStudentFromCourse(StudentDetails studentDetails)
        {
            Message msg = new Message();
            StudentCourseCollegeQuery studentCourseCollegeQuery = new StudentCourseCollegeQuery();

            try
            {
                int studentId = studentDetails.studentId;
                int courseId  = (int)studentDetails.courseId;
                int collegeId = (int)studentDetails.collegeId;

                if (query.IsStudentRegisteredtoCourse(context, studentId, courseId))
                {
                    var studentCourseRecord = studentCourseCollegeQuery.GetStudentCourseCollege(context,
                                                                                                studentId,
                                                                                                courseId,
                                                                                                collegeId);

                    if (studentCourseRecord == null)
                    {
                        msg.status  = false;
                        msg.message = "Student record for the course doesn't exist";
                    }
                    else
                    {
                        studentCourseCollegeQuery.DeregisterStudentfromCourseAndCollege(context,
                                                                                        studentCourseRecord);
                        msg.status = true;
                    }
                }
                else
                {
                    msg.status  = false;
                    msg.message = $"The student with {studentId} is not registered to any course";
                }
            }
            catch (Exception e)
            {
                msg.status  = false;
                msg.message = e.Message;
            }
            return(msg);
        }