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); }
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); }
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); }
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); }
public bool HasQualificationLevels(ICourseSearchRequestModel requestModel) { return(requestModel.QualificationLevels != null && requestModel.QualificationLevels.Length > 0); }