Exemple #1
0
        public List <string> StudyModes(ICourseSearchRequestModel requestModel)
        {
            var paramStudyModes = new List <string>();

            //If we have study modes int array in the model then create the List<StudyModes>
            if (requestModel.StudyModes == null || requestModel.StudyModes.Length <= 0)
            {
                return(paramStudyModes);
            }

            var allStudyModes = new StudyModes().StudyModesList;

            requestModel.StudyModes.ToList()
            .ForEach(
                x =>
            {
                var m = allStudyModes.FirstOrDefault(y => y.Key.ToString() == x.ToString());
                if (m != null)
                {
                    paramStudyModes.Add(m.Key.ToString());
                }
            }
                );

            return(paramStudyModes.Count() == 3 ? new List <string>() : paramStudyModes);
        }
Exemple #2
0
        public List <string> QualificationLevels(ICourseSearchRequestModel requestModel)
        {
            var qualificationLevels = new List <string>();

            if (!HasQualificationLevels(requestModel))
            {
                return(qualificationLevels);
            }

            var levelsFromFile = FileHelper.LoadQualificationLevels();

            requestModel.QualificationLevels.ToList()
            .ForEach(
                x =>
            {
                var m = levelsFromFile.FirstOrDefault(y => y.Key.ToString() == x.ToString());
                if (m != null)
                {
                    qualificationLevels.Add(m.Key);
                }
            }
                );

            return(qualificationLevels.Count() == 9 ? new List <string>() : qualificationLevels);
        }
        public ICourseSearchCriteria CreateCourseSearchCriteria(ICourseSearchRequestModel requestModel)
        {
            var crit = new CourseSearchCriteria(
                requestModel.SubjectKeyword,
                CourseDirectoryHelper.QualificationLevels(requestModel),
                requestModel.Location,
                requestModel.LocationRadius,
                requestModel.IsDfe1619Funded,
                CourseDirectoryHelper.StudyModes(requestModel),
                CourseDirectoryHelper.AttendanceModes(requestModel),
                CourseDirectoryHelper.AttendancePatterns(requestModel)
                );

            return(crit);
        }
Exemple #4
0
        public List <string> AttendanceModes(ICourseSearchRequestModel requestModel)
        {
            var synonymousModes = new AttendanceMode[]
            {
                AttendanceMode.DistanceWithAttendance,
                AttendanceMode.DistanceWithoutAttendence,
                AttendanceMode.OnlineWithAttendance,
                AttendanceMode.OnlineWithoutAttendence
            };

            var attendanceModes = Enum.GetValues(typeof(AttendanceMode))
                                  .Cast <AttendanceMode>()
                                  .Where(x => IsAttendanceModeDisplayable(x))
                                  .Cast <int>()
                                  .Where(x => requestModel.AttendanceModes.Contains(x))
                                  .Cast <AttendanceMode>()
                                  .ToList();

            if (attendanceModes.Any(x => synonymousModes.Contains(x)))
            {
                foreach (var synonym in synonymousModes)
                {
                    if (!attendanceModes.Contains(synonym))
                    {
                        attendanceModes.Add(synonym);
                    }
                }
            }

            var list = new List <string>();

            foreach (var attendanceMode in attendanceModes)
            {
                list.Add(GetAttendanceModeSearchString(attendanceMode));
            }

            return(list.Count() == 6 ? new List <string>() : list);
        }
Exemple #5
0
        public List <string> AttendancePatterns(ICourseSearchRequestModel requestModel)
        {
            var synonymousModes = new AttendancePattern[]
            {
                AttendancePattern.Evening,
                AttendancePattern.Twilight,
                AttendancePattern.Weekend
            };

            var attendancePatterns = Enum.GetValues(typeof(AttendancePattern))
                                     .Cast <AttendancePattern>()
                                     .Where(x => IsAttendancePatternDisplayable(x))
                                     .Cast <int>()
                                     .Where(x => requestModel.AttendancePatterns.Contains(x))
                                     .Cast <AttendancePattern>()
                                     .ToList();

            if (attendancePatterns.Any(x => synonymousModes.Contains(x)))
            {
                foreach (var synonym in synonymousModes)
                {
                    if (!attendancePatterns.Contains(synonym))
                    {
                        attendancePatterns.Add(synonym);
                    }
                }
            }

            var list = new List <string>();

            foreach (var attendancePattern in attendancePatterns)
            {
                list.Add(GetAttendancePatternSearchString(attendancePattern));
            }

            return(list.Count() == 5 ? new List <string>() : list);
        }
Exemple #6
0
 public bool HasQualificationLevels(ICourseSearchRequestModel requestModel)
 {
     return(requestModel.QualificationLevels != null && requestModel.QualificationLevels.Length > 0);
 }