Пример #1
0
        public void SetData(int totalStudySeconds, int breakSeconds, List <string> subjects, bool disableNet)
        {
            //study length, break length, list<string> subjects
            this.totalStudySeconds = totalStudySeconds;
            this.totalBreakSeconds = breakSeconds;
            this.lstSubjects       = subjects;
            internetEnabled        = !disableNet;

            mode = StudyMode.Study;

            //set up progress toggles
            int numBreaks = subjects.Count - 1;//e.g.3 subjects = 2 breaks

            for (int i = 0; i < numBreaks; i++)
            {
                float start = (i + 1) * (totalStudySeconds / (float)subjects.Count) - (totalBreakSeconds / 2);
                float end   = (i + 1) * (totalStudySeconds / (float)subjects.Count) + (totalBreakSeconds / 2);
                percToggles.Add(start / (float)totalStudySeconds);
                percToggles.Add(end / (float)totalStudySeconds);
            }
            if (numBreaks == 0)
            {
                percToggles.Add(1f);
            }

            UpdateBtnCols();
        }
Пример #2
0
        public static StudyMode GetDirectStudyMode(StudyMode source)
        {
            if (source == StudyMode.QuestionOrAnswer)
            {
                source = random.NextDouble() > 0.5
                    ? StudyMode.Question
                    : StudyMode.Answer;
            }

            return source;
        }
        internal static bool IsDisplayable(StudyMode studyMode)
        {
            switch (studyMode)
            {
            case StudyMode.FullTime:
            case StudyMode.PartTime:
            case StudyMode.Flexible:
                return(true);

            default:
                return(false);
            }
        }
Пример #4
0
        public Card(Fact fact, StudyMode mode)
        {
            mode = StudyModeHelper.GetDirectStudyMode(mode);
            if (mode == StudyMode.Answer)
            {
                this.Front = fact.Question;
                this.Back = fact.Answer;
            }
            else
            {
                this.Front = fact.Answer;
                this.Back = fact.Question;
            }

            this.AudioUri = fact.AudioUri;
        }
Пример #5
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));
 }
Пример #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;
        }
        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);
        }