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));
        }
コード例 #2
0
        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));
        }