Example #1
0
        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")));
        }
Example #3
0
        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
            }));
        }
Example #4
0
        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));
        }