示例#1
0
        public string Select(Course item)
        {
            CourseCheckState courseCheckState = new CourseCheckState
            {
                IsValidate = true
            };

            Student student = _studentDao.GetAll().SingleOrDefault(x => x.Id == item.StudentId);

            List <Course> courseSelected = _courseDao.GetAll().Where(x => x.StudentId == student.Id).ToList();

            student.Courses = courseSelected;

            courseCheckState.CourseSelect = new CourseSelect {
                Student = student,
                Course  = item
            };

            _courseValidation.Check(courseCheckState);

            if (!courseCheckState.IsValidate)
            {
                return(courseCheckState.Message);
            }

            _courseDao.Create(item);

            return("Course Select Success");
        }
示例#2
0
        public CourseCheckState Check(CourseCheckState courseCheckState)
        {
            CourseSelect courseSelect = courseCheckState.CourseSelect;

            if (courseSelect.Student.Courses.Any(x => x.Id == courseSelect.Course.Id))
            {
                courseCheckState.IsValidate = false;
                courseCheckState.Message = "Course Can't Select Twice";
            }

            return courseCheckState;
        }
示例#3
0
        public CourseCheckState Check(CourseCheckState courseCheckState)
        {
            CourseSelect courseSelect = courseCheckState.CourseSelect;

            if (courseSelect.Course == null)
            {
                courseCheckState.IsValidate = false;
                courseCheckState.Message    = "Course Can't Null";
            }

            return(courseCheckState);
        }
示例#4
0
        public CourseCheckState Check(CourseCheckState courseCheckState)
        {
            foreach (ICourseCheck check in _courseCheck)
            {
                check.Check(courseCheckState);

                if (!courseCheckState.IsValidate)
                {
                    return(courseCheckState);
                }
            }

            return(courseCheckState);
        }