public IActionResult AddNewVenue(CourseRunRequestModel model) { EditCourseRunViewModel vm = new EditCourseRunViewModel { AwardOrgCode = model.AwardOrgCode, LearnAimRef = model.LearnAimRef, LearnAimRefTitle = model.LearnAimRefTitle, NotionalNVQLevelv2 = model.NotionalNVQLevelv2, Mode = model.Mode, CourseId = model.CourseId, CourseRunId = model.CourseRunId, CourseName = model.CourseName, //Venues = availableVenues VenueId = model.VenueId, //SelectRegion = regions, DeliveryMode = model.DeliveryMode, CourseProviderReference = model.CourseProviderReference, DurationUnit = model.DurationUnit, DurationLength = model.DurationLength.ToString(), StartDateType = model.StartDateType.ToUpper() == "SPECIFIEDSTARTDATE" ? StartDateType.SpecifiedStartDate : StartDateType.FlexibleStartDate, Day = model.Day, Month = model.Month, Year = model.Year, StudyMode = model.StudyMode, Url = model.Url, Cost = model.Cost.ToString(), CostDescription = model.CostDescription, AttendanceMode = model.AttendanceMode, }; Session.SetObject("EditCourseRunObject", vm); return(Json(new Url(Url.Action("Index", "AddVenue", new { returnUrl = Url.Action("Reload", "EditCourseRun") })) .WithProviderContext(_providerContextProvider.GetProviderContext(withLegacyFallback: true)) .ToString())); }
public IActionResult AddNewVenue(CourseRunRequestModel model) { Session.SetString("Option", "AddNewVenueForEdit"); EditCourseRunViewModel vm = new EditCourseRunViewModel { AwardOrgCode = model.AwardOrgCode, LearnAimRef = model.LearnAimRef, LearnAimRefTitle = model.LearnAimRefTitle, NotionalNVQLevelv2 = model.NotionalNVQLevelv2, Mode = model.Mode, CourseId = model.CourseId, CourseRunId = model.CourseRunId, CourseName = model.CourseName, //Venues = availableVenues VenueId = model.VenueId, //SelectRegion = regions, DeliveryMode = model.DeliveryMode, CourseProviderReference = model.CourseProviderReference, DurationUnit = model.DurationUnit, DurationLength = model.DurationLength.ToString(), StartDateType = model.StartDateType.ToUpper() == "SPECIFIEDSTARTDATE" ? StartDateType.SpecifiedStartDate : StartDateType.FlexibleStartDate, Day = model.Day, Month = model.Month, Year = model.Year, StudyMode = model.StudyMode, Url = model.Url, Cost = model.Cost.ToString(), CostDescription = model.CostDescription, AttendanceMode = model.AttendanceMode, }; Session.SetObject("EditCourseRunObject", vm); return(Json(Url.Action("AddVenue", "Venues"))); }
public async Task <IActionResult> Index(string learnAimRef, string notionalNVQLevelv2, string awardOrgCode, string learnAimRefTitle, string learnAimRefTypeDesc, Guid?courseId, Guid courseRunId, PublishMode mode) { int?UKPRN; if (Session.GetInt32("UKPRN") != null) { UKPRN = Session.GetInt32("UKPRN").Value; } else { return(RedirectToAction("Index", "Home", new { errmsg = "Please select a Provider." })); } List <SelectListItem> courseRunVenues = new List <SelectListItem>(); //VenueSearchCriteria criteria = new VenueSearchCriteria(UKPRN.ToString(), null); var venues = await GetVenuesByUkprn(UKPRN.Value); foreach (var venue in venues.VenueItems) { var item = new SelectListItem { Text = venue.VenueName, Value = venue.Id }; courseRunVenues.Add(item); } ; var regions = _courseService.GetRegions(); Session.SetObject(SessionVenues, venues); Session.SetObject(SessionRegions, regions); if (courseId.HasValue) { var course = await _courseService.GetCourseByIdAsync(new GetCourseByIdCriteria(courseId.Value)); var courseRun = course.Value.CourseRuns.SingleOrDefault(cr => cr.id == courseRunId); if (courseRun != null) { EditCourseRunViewModel vm = new EditCourseRunViewModel { AwardOrgCode = awardOrgCode, LearnAimRef = learnAimRef, LearnAimRefTitle = learnAimRefTitle, Mode = mode, CourseId = courseId.Value, CourseRunId = courseRunId, CourseName = courseRun?.CourseName, Venues = courseRunVenues, VenueId = courseRun.VenueId ?? (Guid?)null, ChooseRegion = new ChooseRegionModel { National = courseRun.DeliveryMode != DeliveryMode.WorkBased ? null : courseRun.National, Regions = regions }, DeliveryMode = courseRun.DeliveryMode, CourseProviderReference = courseRun?.ProviderCourseID, DurationUnit = courseRun.DurationUnit, DurationLength = courseRun?.DurationValue?.ToString(), StartDateType = courseRun.FlexibleStartDate ? StartDateType.FlexibleStartDate : StartDateType.SpecifiedStartDate, Day = courseRun.StartDate?.Day.ToString("00"), Month = courseRun.StartDate?.Month.ToString("00"), Year = courseRun.StartDate?.Year.ToString("0000"), StudyMode = courseRun.StudyMode, Url = courseRun.CourseURL, Cost = courseRun.Cost?.ToString("F"), CostDescription = courseRun.CostDescription, AttendanceMode = courseRun.AttendancePattern, QualificationType = course.Value.QualificationType, NotionalNVQLevelv2 = course.Value.NotionalNVQLevelv2, CurrentCourseRunDate = courseRun.StartDate }; vm.ValPastDateRef = DateTime.Now; vm.ValPastDateMessage = "Start Date cannot be earlier than today’s date"; if (courseRun.Regions == null) { return(View("EditCourseRun", vm)); } foreach (var selectRegionRegionItem in vm.ChooseRegion.Regions.RegionItems.OrderBy(x => x.RegionName)) { //If Region is returned, check for existence of any subregions if (courseRun.Regions.Contains(selectRegionRegionItem.Id)) { var subregionsInList = from subRegion in selectRegionRegionItem.SubRegion where courseRun.Regions.Contains(subRegion.Id) select subRegion; //If true, then ignore subregions if (subregionsInList.Count() > 0) { foreach (var subRegion in subregionsInList) { courseRun.Regions = courseRun.Regions.Where(x => (x != subRegion.Id)).ToList(); } } //If false, then tick all subregions foreach (var subRegionItemModel in selectRegionRegionItem.SubRegion) { subRegionItemModel.Checked = true; } } //Else, just tick the one subregion per item else { foreach (var subRegionItemModel in selectRegionRegionItem.SubRegion) { if (courseRun.Regions.Contains(subRegionItemModel.Id)) { subRegionItemModel.Checked = true; } } } } if (vm.ChooseRegion.Regions.RegionItems != null && vm.ChooseRegion.Regions.RegionItems.Any()) { vm.ChooseRegion.Regions.RegionItems = vm.ChooseRegion.Regions.RegionItems.OrderBy(x => x.RegionName); foreach (var selectRegionRegionItem in vm.ChooseRegion.Regions.RegionItems) { selectRegionRegionItem.SubRegion = selectRegionRegionItem.SubRegion.OrderBy(x => x.SubRegionName).ToList(); } } return(View("EditCourseRun", vm)); } } //error page return(View("Error", new ErrorViewModel { RequestId = Activity.Current?.Id ?? HttpContext.TraceIdentifier })); }
public async Task <IActionResult> Reload() { int?UKPRN; if (Session.GetInt32("UKPRN") != null) { UKPRN = Session.GetInt32("UKPRN").Value; } else { return(RedirectToAction("Index", "Home", new { errmsg = "Please select a Provider." })); } List <SelectListItem> courseRunVenues = new List <SelectListItem>(); var venues = await GetVenuesByUkprn(UKPRN.Value); foreach (var venue in venues.VenueItems) { var item = new SelectListItem { Text = venue.VenueName, Value = venue.Id }; courseRunVenues.Add(item); } var regions = _courseService.GetRegions(); var cachedData = Session.GetObject <EditCourseRunViewModel>("EditCourseRunObject"); var course = await _courseService.GetCourseByIdAsync(new GetCourseByIdCriteria(cachedData.CourseId.Value)); var courseRun = course.Value.CourseRuns.SingleOrDefault(cr => cr.id == cachedData.CourseRunId); EditCourseRunViewModel vm = new EditCourseRunViewModel { AwardOrgCode = cachedData.AwardOrgCode, LearnAimRef = cachedData.LearnAimRef, LearnAimRefTitle = cachedData.LearnAimRefTitle, //Mode = mode, CourseId = course.Value.id, CourseRunId = courseRun.id, CourseName = courseRun?.CourseName, Venues = courseRunVenues, VenueId = courseRun.VenueId ?? (Guid?)null, ChooseRegion = new ChooseRegionModel { National = courseRun.National, Regions = regions }, DeliveryMode = courseRun.DeliveryMode, CourseProviderReference = courseRun?.ProviderCourseID, DurationUnit = courseRun.DurationUnit, DurationLength = courseRun?.DurationValue?.ToString(), StartDateType = courseRun.FlexibleStartDate ? StartDateType.FlexibleStartDate : StartDateType.SpecifiedStartDate, Day = courseRun.StartDate?.Day.ToString("00"), Month = courseRun.StartDate?.Month.ToString("00"), Year = courseRun.StartDate?.Year.ToString("0000"), StudyMode = courseRun.StudyMode, Url = courseRun.CourseURL, Cost = courseRun.Cost?.ToString("F"), CostDescription = courseRun.CostDescription, AttendanceMode = courseRun.AttendancePattern, QualificationType = course.Value.QualificationType, NotionalNVQLevelv2 = course.Value.NotionalNVQLevelv2, CurrentCourseRunDate = courseRun.StartDate }; vm.ValPastDateRef = DateTime.Now; vm.ValPastDateMessage = "Start Date cannot be earlier than today’s date"; vm.CourseName = cachedData.CourseName; vm.AttendanceMode = cachedData.AttendanceMode; vm.Cost = cachedData.Cost; vm.CostDescription = cachedData.CostDescription; vm.CourseProviderReference = cachedData.CourseProviderReference; vm.Day = cachedData.Day; vm.Month = cachedData.Month; vm.Year = cachedData.Year; vm.DeliveryMode = cachedData.DeliveryMode; vm.DurationLength = cachedData.DurationLength; vm.DurationUnit = cachedData.DurationUnit; vm.StartDateType = cachedData.StartDateType; vm.StudyMode = cachedData.StudyMode; vm.Url = cachedData.Url; vm.VenueId = cachedData.VenueId; if (courseRun.Regions == null) { return(View("EditCourseRun", vm)); } foreach (var selectRegionRegionItem in vm.ChooseRegion.Regions.RegionItems.OrderBy(x => x.RegionName)) { foreach (var subRegionItemModel in selectRegionRegionItem.SubRegion) { if (courseRun.Regions.Contains(subRegionItemModel.Id)) { subRegionItemModel.Checked = true; } } } if (vm.ChooseRegion.Regions.RegionItems != null && vm.ChooseRegion.Regions.RegionItems.Any()) { vm.ChooseRegion.Regions.RegionItems = vm.ChooseRegion.Regions.RegionItems.OrderBy(x => x.RegionName); foreach (var selectRegionRegionItem in vm.ChooseRegion.Regions.RegionItems) { selectRegionRegionItem.SubRegion = selectRegionRegionItem.SubRegion.OrderBy(x => x.SubRegionName).ToList(); } } return(View("EditCourseRun", vm)); }