コード例 #1
0
        public string GetAttendancePatternSearchString(AttendancePattern attendancePattern)
        {
            var result = "AP8";

            switch (attendancePattern)
            {
            case AttendancePattern.DaytimeWorkHours: result = "AP1"; break;

            case AttendancePattern.DayBlockRelease: result = "AP2"; break;

            case AttendancePattern.Evening: result = "AP3"; break;

            case AttendancePattern.Twilight: result = "AP4"; break;

            case AttendancePattern.Weekend: result = "AP5"; break;

            case AttendancePattern.Customised: result = "AP6"; break;

            case AttendancePattern.NotKnown: result = "AP7"; break;

            case AttendancePattern.NotApplicable: result = "AP8"; break;
            }

            return(result);
        }
        internal static bool IsSelectable(AttendancePattern attendancePattern)
        {
            switch (attendancePattern)
            {
            case AttendancePattern.DaytimeWorkHours:
            case AttendancePattern.DayBlockRelease:
            case AttendancePattern.Evening:
                return(true);

            default:
                return(false);
            }
        }
        internal static bool IsDisplayable(AttendancePattern attendancePattern)
        {
            switch (attendancePattern)
            {
            case AttendancePattern.Customised:
            case AttendancePattern.NotKnown:
            case AttendancePattern.NotApplicable:
                return(false);

            default:
                return(true);
            }
        }
コード例 #4
0
 public Opportunity(
     int id,
     StudyMode studyMode,
     AttendanceMode attendanceMode,
     AttendancePattern attendancePattern,
     bool isDfe1619Funded,
     IDescriptionDate startDate,
     IVenue venue,
     string region,
     IDuration duration)
 {
     if (id <= 0)
     {
         throw new ArgumentOutOfRangeException(nameof(id));
     }
     if (!Enum.IsDefined(typeof(StudyMode), studyMode))
     {
         throw new ArgumentOutOfRangeException(nameof(studyMode));
     }
     if (!Enum.IsDefined(typeof(AttendanceMode), attendanceMode))
     {
         throw new ArgumentOutOfRangeException(nameof(attendanceMode));
     }
     if (!Enum.IsDefined(typeof(AttendancePattern), attendancePattern))
     {
         throw new ArgumentOutOfRangeException(nameof(attendancePattern));
     }
     Id                = id;
     StudyMode         = studyMode;
     AttendanceMode    = attendanceMode;
     AttendancePattern = attendancePattern;
     IsDfe1619Funded   = isDfe1619Funded;
     StartDate         = startDate ?? throw new ArgumentNullException(nameof(startDate));
     Venue             = venue;
     Region            = (venue == null && string.IsNullOrWhiteSpace(region)) ? _defaultRegion.ToSentenceCase() : region.ToSentenceCase();
     Duration          = duration ?? throw new ArgumentNullException(nameof(duration));
 }
コード例 #5
0
        public List <string> AttendancePatterns(ICourseSearchRequestModel requestModel)
        {
            var synonymousModes = new AttendancePattern[]
            {
                AttendancePattern.Evening,
                AttendancePattern.Twilight,
                AttendancePattern.Weekend
            };

            var attendancePatterns = Enum.GetValues(typeof(AttendancePattern))
                                     .Cast <AttendancePattern>()
                                     .Where(x => IsAttendancePatternDisplayable(x))
                                     .Cast <int>()
                                     .Where(x => requestModel.AttendancePatterns.Contains(x))
                                     .Cast <AttendancePattern>()
                                     .ToList();

            if (attendancePatterns.Any(x => synonymousModes.Contains(x)))
            {
                foreach (var synonym in synonymousModes)
                {
                    if (!attendancePatterns.Contains(synonym))
                    {
                        attendancePatterns.Add(synonym);
                    }
                }
            }

            var list = new List <string>();

            foreach (var attendancePattern in attendancePatterns)
            {
                list.Add(GetAttendancePatternSearchString(attendancePattern));
            }

            return(list.Count() == 5 ? new List <string>() : list);
        }
コード例 #6
0
        public Opportunity(
            int id,
            StudyMode studyMode,
            AttendanceMode attendanceMode,
            AttendancePattern attendancePattern,
            bool isDfe1619Funded,
            IDescriptionDate startDate,
            IVenue venue,
            string region,
            IDuration duration,
            string price,
            string priceDescription,
            string endDate,
            string timetable,
            string langOfAssess,
            string langofIns,
            string places,
            string enquireto,
            string applyto,
            string applyfrom,
            string applyuntil,
            string applyuntildesc,
            string url,
            string[] a10,
            string[] items,
            ItemChoice[] itemsElementName,
            ApplicationAcceptedThroughoutYear applicationAcceptedThroughout,
            bool applicationAcceptedThroughoutSpecified


            )
        {
            if (id <= 0)
            {
                throw new ArgumentOutOfRangeException(nameof(id));
            }
            if (!Enum.IsDefined(typeof(StudyMode), studyMode))
            {
                throw new ArgumentOutOfRangeException(nameof(studyMode));
            }
            if (!Enum.IsDefined(typeof(AttendanceMode), attendanceMode))
            {
                throw new ArgumentOutOfRangeException(nameof(attendanceMode));
            }
            if (!Enum.IsDefined(typeof(AttendancePattern), attendancePattern))
            {
                throw new ArgumentOutOfRangeException(nameof(attendancePattern));
            }
            Id                = id;
            StudyMode         = studyMode;
            AttendanceMode    = attendanceMode;
            AttendancePattern = attendancePattern;
            IsDfe1619Funded   = isDfe1619Funded;
            StartDate         = startDate ?? throw new ArgumentNullException(nameof(startDate));
            Venue             = venue;
            Region            = (venue == null && string.IsNullOrWhiteSpace(region)) ? _defaultRegion.ToSentenceCase() : region.ToSentenceCase();
            Duration          = duration ?? throw new ArgumentNullException(nameof(duration));
            //OppDetails
            Price                 = price;
            PriceDescription      = priceDescription;// DFC-4427 Removed ToSentenceCase();
            EndDate               = endDate;
            Timetable             = timetable;
            LanguageOfAssessment  = langOfAssess;
            LanguageOfInstruction = langofIns;
            PlacesAvailable       = places;
            EnquireTo             = enquireto;
            ApplyTo               = applyto;
            ApplyFrom             = applyfrom;
            ApplyUntil            = applyuntil;
            ApplyUntilDescription = applyuntildesc;
            URL              = Uri.IsWellFormedUriString(url, UriKind.Absolute) ? url : string.Empty;
            A10              = a10;
            Items            = items;
            ItemsElementName = itemsElementName;
            ApplicationAcceptedThroughoutYear          = applicationAcceptedThroughout;
            ApplicationAcceptedThroughoutYearSpecified = applicationAcceptedThroughoutSpecified;
        }
コード例 #7
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));
        }
        public static SearchPhrase ToEntity(this AddEditSearchPhraseModel model, ProviderPortalEntities db)
        {
            SearchPhrase searchPhrase = new SearchPhrase();

            if (model.SearchPhraseId.HasValue)
            {
                searchPhrase = db.SearchPhrases.Find(model.SearchPhraseId);
                if (searchPhrase == null)
                {
                    return(null);
                }
            }

            searchPhrase.Phrase = model.SearchPhrase;
            searchPhrase.RemovePhraseFromSearch = model.RemovePhraseFromSearch;

            if (model.SearchPhraseId.HasValue)
            {
                searchPhrase.ModifiedByUserId    = Permission.GetCurrentUserId();
                searchPhrase.ModifiedDateTimeUtc = DateTime.UtcNow;
            }
            else
            {
                searchPhrase.CreatedByUserId    = Permission.GetCurrentUserId();
                searchPhrase.CreatedDateTimeUtc = DateTime.UtcNow;
                Int32        nextOrdinal = 1;
                SearchPhrase maxOrdinal  = db.SearchPhrases.OrderByDescending(x => x.Ordinal).FirstOrDefault();
                if (maxOrdinal != null)
                {
                    nextOrdinal = maxOrdinal.Ordinal + 1;
                }
                searchPhrase.Ordinal        = nextOrdinal;
                searchPhrase.RecordStatusId = (Int32)Constants.RecordStatus.Live;
            }

            // Remove any existing and not selected Qualification Levels
            List <QualificationLevel> existingQualificationLevels = searchPhrase.QualificationLevels.ToList();

            foreach (QualificationLevel qualificationLevel in existingQualificationLevels.Where(x => !model.SelectedQualificationLevels.Contains(x.QualificationLevelId)))
            {
                searchPhrase.QualificationLevels.Remove(qualificationLevel);
            }

            // Add any new Qualification Levels
            foreach (Int32 qlId in model.SelectedQualificationLevels)
            {
                QualificationLevel ql = searchPhrase.QualificationLevels.FirstOrDefault(x => x.QualificationLevelId == qlId);
                if (ql == null)
                {
                    ql = db.QualificationLevels.Find(qlId);
                    if (ql != null)
                    {
                        searchPhrase.QualificationLevels.Add(ql);
                    }
                }
            }

            // Remove any existing and not selected Study Modes
            List <StudyMode> existingStudyModes = searchPhrase.StudyModes.ToList();

            foreach (StudyMode studyMode in existingStudyModes.Where(x => !model.SelectedStudyModes.Contains(x.StudyModeId)))
            {
                searchPhrase.StudyModes.Remove(studyMode);
            }

            // Add any new Study Modes
            foreach (Int32 smId in model.SelectedStudyModes)
            {
                StudyMode sm = searchPhrase.StudyModes.FirstOrDefault(x => x.StudyModeId == smId);
                if (sm == null)
                {
                    sm = db.StudyModes.Find(smId);
                    if (sm != null)
                    {
                        searchPhrase.StudyModes.Add(sm);
                    }
                }
            }

            // Remove any existing and not selected Attendance Types
            List <AttendanceType> existingAttendanceTypes = searchPhrase.AttendanceTypes.ToList();

            foreach (AttendanceType attendanceType in existingAttendanceTypes.Where(x => !model.SelectedAttendanceTypes.Contains(x.AttendanceTypeId)))
            {
                searchPhrase.AttendanceTypes.Remove(attendanceType);
            }

            // Add any new Attendance Types
            foreach (Int32 atId in model.SelectedAttendanceTypes)
            {
                AttendanceType at = searchPhrase.AttendanceTypes.FirstOrDefault(x => x.AttendanceTypeId == atId);
                if (at == null)
                {
                    at = db.AttendanceTypes.Find(atId);
                    if (at != null)
                    {
                        searchPhrase.AttendanceTypes.Add(at);
                    }
                }
            }

            // Remove any existing and not selected Attendance Patterns
            List <AttendancePattern> existingAttendancePatterns = searchPhrase.AttendancePatterns.ToList();

            foreach (AttendancePattern attendancePattern in existingAttendancePatterns.Where(x => !model.SelectedAttendancePatterns.Contains(x.AttendancePatternId)))
            {
                searchPhrase.AttendancePatterns.Remove(attendancePattern);
            }

            // Add any new Attendance Patterns
            foreach (Int32 apId in model.SelectedAttendancePatterns)
            {
                AttendancePattern ap = searchPhrase.AttendancePatterns.FirstOrDefault(x => x.AttendancePatternId == apId);
                if (ap == null)
                {
                    ap = db.AttendancePatterns.Find(apId);
                    if (ap != null)
                    {
                        searchPhrase.AttendancePatterns.Add(ap);
                    }
                }
            }

            return(searchPhrase);
        }