public IActionResult AddNewVenue(CourseRunRequestModel model) { CopyCourseRunViewModel vm = new CopyCourseRunViewModel { AwardOrgCode = model.AwardOrgCode, LearnAimRef = model.LearnAimRef, LearnAimRefTitle = model.LearnAimRefTitle, NotionalNVQLevelv2 = model.NotionalNVQLevelv2, PublishMode = model.Mode, CourseId = model.CourseId, CourseRunId = model.CourseRunId, CourseName = model.CourseName, VenueId = model.VenueId, 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("CopyCourseRunObject", vm); return(Json(new Url(Url.Action("Index", "AddVenue", new { returnUrl = Url.Action("Reload", "CopyCourseRun") })) .WithProviderContext(_providerContextProvider.GetProviderContext(withLegacyFallback: true)) .ToString())); }
public IActionResult AddNewVenue(CourseRunRequestModel model) { _session.SetString("Option", "AddNewVenueForCopy"); CopyCourseRunViewModel vm = new CopyCourseRunViewModel { AwardOrgCode = model.AwardOrgCode, LearnAimRef = model.LearnAimRef, LearnAimRefTitle = model.LearnAimRefTitle, NotionalNVQLevelv2 = model.NotionalNVQLevelv2, PublishMode = model.Mode, CourseId = model.CourseId, CourseRunId = model.CourseRunId, CourseName = model.CourseName, VenueId = model.VenueId, 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("CopyCourseRunObject", vm); return(Json(Url.Action("AddVenue", "Venues"))); }
public async Task <IActionResult> Index(Guid?courseId, Guid?courseRunId) { if (!_session.GetInt32("UKPRN").HasValue) { return(RedirectToAction("Index", "Home", new { errmsg = "Please select a Provider." })); } var ukprn = _session.GetInt32("UKPRN").Value; var providerId = _providerContextProvider.GetProviderId(withLegacyFallback: true); var savedModel = _session.GetObject <CopyCourseRunSaveViewModel>(CopyCourseRunSaveViewModelSessionKey); if (courseId.HasValue && courseRunId.HasValue) { if (savedModel != null && (savedModel.CourseId != courseId || savedModel.CourseRunId != courseRunId)) { _session.Remove(CopyCourseRunSaveViewModelSessionKey); savedModel = null; } } else if (savedModel != null) { courseId = savedModel.CourseId; courseRunId = savedModel.CourseRunId; } else { return(NotFound()); } var course = await _sqlQueryDispatcher.ExecuteQuery(new GetCourse() { CourseId = courseId.Value }); if (course == null) { return(NotFound()); } var courseRun = course.CourseRuns.SingleOrDefault(cr => cr.CourseRunId == courseRunId); if (courseRun == null) { return(NotFound()); } var venues = await _sqlQueryDispatcher.ExecuteQuery(new GetVenuesByProvider() { ProviderId = providerId }); var regions = _courseService.GetRegions(); foreach (var subRegion in regions.RegionItems.SelectMany(r => r.SubRegion)) { subRegion.Checked = courseRun.SubRegionIds?.Contains(subRegion.Id); } var vm = new CopyCourseRunViewModel { AwardOrgCode = course.AwardOrgCode, LearnAimRef = course.LearnAimRef, LearnAimRefTitle = course.LearnAimRefTitle, CourseId = courseId.Value, CourseRunId = courseRunId.Value, CourseName = courseRun?.CourseName, Venues = venues.Select(v => new SelectListItem { Text = v.VenueName, Value = v.VenueId.ToString() }).ToList(), VenueId = courseRun.VenueId ?? Guid.Empty, 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.CourseWebsite, Cost = courseRun.Cost?.ToString("F"), CostDescription = courseRun.CostDescription, AttendanceMode = courseRun.AttendancePattern, QualificationType = course.LearnAimRefTypeDesc, NotionalNVQLevelv2 = course.NotionalNVQLevelv2, PublishMode = PublishMode.Summary, RefererAbsolutePath = Request.GetTypedHeaders().Referer?.AbsolutePath }; if (savedModel != null) { vm.CourseName = savedModel.CourseName; vm.CourseProviderReference = savedModel.CourseProviderReference; vm.DeliveryMode = savedModel.DeliveryMode; vm.StartDateType = savedModel.StartDateType; vm.Day = savedModel.Day; vm.Month = savedModel.Month; vm.Year = savedModel.Year; vm.VenueId = savedModel.VenueId; vm.ChooseRegion.National = savedModel.National; vm.Url = savedModel.Url; vm.Cost = savedModel.Cost; vm.CostDescription = savedModel.CostDescription; vm.DurationLength = savedModel.DurationLength; vm.DurationUnit = savedModel.DurationUnit; vm.AttendanceMode = savedModel.AttendanceMode; vm.StudyMode = savedModel.StudyMode; vm.RefererAbsolutePath = savedModel.RefererAbsolutePath; if (savedModel.DeliveryMode == CourseDeliveryMode.ClassroomBased) { foreach (var venue in vm.Venues) { venue.Selected = venue.Value == savedModel.VenueId.ToString(); } } if (savedModel.DeliveryMode == CourseDeliveryMode.WorkBased && savedModel.National == false) { foreach (var subRegion in regions.RegionItems.SelectMany(r => r.SubRegion)) { subRegion.Checked = savedModel.SelectedRegions?.Contains(subRegion.Id); } } } return(View("CopyCourseRun", vm)); }
public async Task <IActionResult> Reload() { if (!_session.GetInt32("UKPRN").HasValue) { return(RedirectToAction("Index", "Home", new { errmsg = "Please select a Provider." })); } var ukprn = _session.GetInt32("UKPRN").Value; var cachedData = _session.GetObject <CopyCourseRunViewModel>("CopyCourseRunObject"); var course = await _sqlQueryDispatcher.ExecuteQuery(new GetCourse() { CourseId = cachedData.CourseId.Value }); var courseRun = course.CourseRuns.SingleOrDefault(cr => cr.CourseRunId == cachedData.CourseRunId); var venues = await GetVenuesForProvider(); var regions = _courseService.GetRegions(); foreach (var subRegion in regions.RegionItems.SelectMany(r => r.SubRegion)) { subRegion.Checked = courseRun.SubRegionIds?.Contains(subRegion.Id); } CopyCourseRunViewModel vm = new CopyCourseRunViewModel { AwardOrgCode = course.AwardOrgCode, LearnAimRef = course.LearnAimRef, LearnAimRefTitle = course.LearnAimRefTitle, //Mode = mode, CourseId = course.CourseId, CourseRunId = courseRun.CourseRunId, CourseName = courseRun?.CourseName, Venues = venues.VenueItems.Select(v => new SelectListItem { Text = v.VenueName, Value = v.Id }).ToList(), VenueId = courseRun.VenueId ?? 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.CourseWebsite, Cost = courseRun.Cost?.ToString("F"), CostDescription = courseRun.CostDescription, AttendanceMode = courseRun.AttendancePattern, QualificationType = course.LearnAimRefTypeDesc, NotionalNVQLevelv2 = course.NotionalNVQLevelv2 }; 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; return(View("CopyCourseRun", vm)); }