Esempio n. 1
0
        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()));
        }
Esempio n. 2
0
        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")));
        }
Esempio n. 3
0
        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));
        }
Esempio n. 4
0
        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));
        }