public IViewComponentResult Invoke(DurationModel model) { var defaultItem = new SelectListItem { Text = "Select", Value = "" }; model.DurationUnits = new List <SelectListItem>(); foreach (DurationUnit eVal in DurationUnit.GetValues(typeof(DurationUnit))) { if (eVal.ToString().ToUpper() != "UNDEFINED") { var item = new SelectListItem { Text = WebHelper.GetEnumDescription(eVal) }; model.DurationUnits.Add(item); } } ; model.DurationUnits.Insert(0, model.DurationUnits.FirstOrDefault(x => x.Text.ToUpper() == "HOURS")); model.DurationUnits.RemoveAt(5); model.DurationUnits.Insert(0, defaultItem); return(View("~/ViewComponents/Courses/Duration/Default.cshtml", model)); }
public async Task <IActionResult> Index(string status, string learnAimRef, string numberOfNewCourses, string errmsg) { var deliveryModes = new List <SelectListItem>(); var durationUnits = new List <SelectListItem>(); var attendances = new List <SelectListItem>(); var modes = new List <SelectListItem>(); if (!string.IsNullOrEmpty(status)) { ViewData["Status"] = status; if (status.Equals("good", StringComparison.InvariantCultureIgnoreCase)) { ViewData["StatusMessage"] = string.Format("{0} New Course(s) created in Course Directory for LARS: {1}", numberOfNewCourses, learnAimRef); } else if (status.Equals("bad", StringComparison.InvariantCultureIgnoreCase)) { ViewData["StatusMessage"] = errmsg; } else { // unhandled status } } var courseRunVenues = new List <SelectListItem>(); var UKPRN = _session.GetInt32("UKPRN"); if (UKPRN.HasValue) { VenueSearchCriteria criteria = new VenueSearchCriteria(UKPRN.ToString(), null); var venues = await _venueService.SearchAsync(criteria); foreach (var venue in venues.Value.Value) { var item = new SelectListItem { Text = venue.VenueName, Value = venue.ID }; courseRunVenues.Add(item); } ; } foreach (DeliveryMode eVal in DeliveryMode.GetValues(typeof(DeliveryMode))) { if (eVal.ToString().ToUpper() != "UNDEFINED") { var item = new SelectListItem { Text = System.Enum.GetName(typeof(DeliveryMode), eVal), Value = eVal.ToString() }; deliveryModes.Add(item); } } ; foreach (DurationUnit eVal in DurationUnit.GetValues(typeof(DurationUnit))) { if (eVal.ToString().ToUpper() != "UNDEFINED") { var item = new SelectListItem { Text = System.Enum.GetName(typeof(DurationUnit), eVal), Value = eVal.ToString() }; durationUnits.Add(item); } } ; foreach (AttendancePattern eVal in AttendancePattern.GetValues(typeof(AttendancePattern))) { if (eVal.ToString().ToUpper() != "UNDEFINED") { var item = new SelectListItem { Text = System.Enum.GetName(typeof(AttendancePattern), eVal), Value = eVal.ToString() }; attendances.Add(item); } } ; foreach (Dfc.CourseDirectory.Models.Models.Courses.StudyMode eVal in Enum.GetValues(typeof(Dfc.CourseDirectory.Models.Models.Courses.StudyMode))) { if (eVal.ToString().ToUpper() != "UNDEFINED") { var item = new SelectListItem { Text = System.Enum.GetName(typeof(Dfc.CourseDirectory.Models.Models.Courses.StudyMode), eVal), Value = eVal.ToString() }; modes.Add(item); } } ; // Get courses (and runs) for PRN, grouped by qualification type, then within that by LARS ref int?ukprn = _session.GetInt32("UKPRN"); ICourseSearchResult result = (!ukprn.HasValue ? null : _courseService.GetYourCoursesByUKPRNAsync(new CourseSearchCriteria(ukprn)) .Result.Value); YourCoursesViewModel vm = new YourCoursesViewModel { UKPRN = ukprn, Courses = result, deliveryModes = deliveryModes, durationUnits = durationUnits, attendances = attendances, modes = modes, Venues = courseRunVenues }; return(View(vm)); }