Пример #1
0
        public bool ExclusionsApply(ILearner learner, ILearningDelivery learningDelivery)
        {
            if (_dd07.IsApprenticeship(learningDelivery.ProgTypeNullable))
            {
                return(true);
            }

            if (_derivedDataRule28.IsAdultFundedUnemployedWithBenefits(learningDelivery, learner))
            {
                return(true);
            }

            if (_derivedDataRule29.IsInflexibleElementOfTrainingAimLearningDelivery(learningDelivery))
            {
                return(true);
            }

            if (learningDelivery.LearningDeliveryFAMs.Any(ldf => ldf.LearnDelFAMType.CaseInsensitiveEquals(LearningDeliveryFAMTypeConstants.LDM) &&
                                                          _ldmTypeExcludedCodes.Any(x => x.CaseInsensitiveEquals(ldf.LearnDelFAMCode))))
            {
                return(true);
            }

            if (learningDelivery.LearningDeliveryFAMs.Any(ldf => ldf.LearnDelFAMType.CaseInsensitiveEquals(LearningDeliveryFAMTypeConstants.RES)))
            {
                return(true);
            }

            if (learningDelivery.LearningDeliveryFAMs.Any(ldf => ldf.LearnDelFAMType.CaseInsensitiveEquals(LearningDeliveryFAMTypeConstants.DAM) && ldf.LearnDelFAMCode == LearningDeliveryFAMCodeConstants.DAM_DevolvedLevelTwoOrThreeExclusion))
            {
                return(true);
            }

            return(IsBasicSkillsLearner(learningDelivery));
        }
Пример #2
0
        private bool ExclusionsApply(ILearner learner, ILearningDelivery learningDelivery)
        {
            if (_dd07.IsApprenticeship(learningDelivery.ProgTypeNullable))
            {
                return(true);
            }

            if (_derivedDataRule28.IsAdultFundedUnemployedWithBenefits(learningDelivery, learner))
            {
                return(true);
            }

            if (_derivedDataRule29.IsInflexibleElementOfTrainingAim(learner))
            {
                return(true);
            }

            if (learningDelivery.LearningDeliveryFAMs.Any(ldf => ldf.LearnDelFAMType.CaseInsensitiveEquals(LearningDeliveryFAMTypeConstants.LDM) &&
                                                          _ldmTypeExcludedCodes.Any(x => x.CaseInsensitiveEquals(ldf.LearnDelFAMCode))))
            {
                return(true);
            }

            if (learningDelivery.LearningDeliveryFAMs.Any(ldf => ldf.LearnDelFAMType.CaseInsensitiveEquals(LearningDeliveryFAMTypeConstants.RES)))
            {
                return(true);
            }

            return(_larsDataService.BasicSkillsMatchForLearnAimRefAndStartDate(
                       _basicSkillTypes,
                       learningDelivery.LearnAimRef,
                       learningDelivery.LearnStartDate));
        }
Пример #3
0
 public bool ConditionMet(int?progType, DateTime?dd18Date, DateTime lastFridayInJuneForAcademicYear)
 {
     return((progType.HasValue && progType == TypeOfLearningProgramme.ApprenticeshipStandard) &&
            (dd18Date.HasValue && dd18Date >= _firstAugust2016) &&
            dd18Date <= lastFridayInJuneForAcademicYear &&
            _derivedData07.IsApprenticeship(progType));
 }
Пример #4
0
 public bool Excluded(int ukprn, int?progType, IEnumerable <ILearningDeliveryFAM> learningDeliveryFams)
 {
     return(_dd07.IsApprenticeship(progType) ||
            _learningDeliveryFamQueryService.HasLearningDeliveryFAMType(learningDeliveryFams, LearningDeliveryFAMTypeConstants.RES) ||
            _learningDeliveryFamQueryService.HasAnyLearningDeliveryFAMCodesForType(learningDeliveryFams, LearningDeliveryFAMTypeConstants.LDM, _learningDeliveryFamCodes) ||
            _organisationDataService.LegalOrgTypeMatchForUkprn(ukprn, LegalOrgTypeConstants.USDC));
 }
 public bool Excluded(int?progType, IEnumerable <ILearningDeliveryFAM> learningDeliveryFams, string learnAimRef)
 {
     return(_derivedData07.IsApprenticeship(progType) ||
            _learningDeliveryFamQueryService.HasLearningDeliveryFAMType(learningDeliveryFams, LearningDeliveryFAMTypeConstants.RES) ||
            _learningDeliveryFamQueryService.HasAnyLearningDeliveryFAMCodesForType(learningDeliveryFams, LearningDeliveryFAMTypeConstants.LDM, _learningDeliveryFamCodes) ||
            _larsDataService.HasAnyLearningDeliveryForLearnAimRefAndTypes(learnAimRef, _learnAimRefTypes));
 }
Пример #6
0
 public bool ConditionMet(int fundModel, int?progType, int aimType, DateTime learnStartDate, DateTime learnPlanEndDate, IEnumerable <ILearningDeliveryFAM> learningDeliveryFams)
 {
     return(!Excluded(progType, learningDeliveryFams) &&
            fundModel == FundModels.ApprenticeshipsFrom1May2017 &&
            learnStartDate >= _mayFirst2017 &&
            _dd07.IsApprenticeship(progType) &&
            aimType == AimTypes.ProgrammeAim &&
            _dateTimeQueryService.WholeDaysBetween(learnStartDate, learnPlanEndDate) < 365);
 }
Пример #7
0
        public bool IsLearningDeliveryExcluded(ILearner learner, ILearningDelivery learningDelivery)
        {
            if (learningDelivery.ProgTypeNullable.HasValue &&
                learningDelivery.ProgTypeNullable.Value == TypeOfLearningProgramme.Traineeship)
            {
                return(true);
            }

            if (_dd07.IsApprenticeship(learningDelivery.ProgTypeNullable))
            {
                return(true);
            }

            if (_famQueryService.HasAnyLearningDeliveryFAMCodesForType(
                    learningDelivery.LearningDeliveryFAMs,
                    LearningDeliveryFAMTypeConstants.LDM,
                    famCodesForExclusion))
            {
                return(true);
            }

            if (_dd12.IsAdultSkillsFundedOnBenefits(learner.LearnerEmploymentStatuses, learningDelivery))
            {
                return(true);
            }

            if (_derivedDataRule21.IsAdultFundedUnemployedWithOtherStateBenefits(learningDelivery, learner))
            {
                return(true);
            }

            if (_famQueryService.HasLearningDeliveryFAMType(learningDelivery.LearningDeliveryFAMs, LearningDeliveryFAMTypeConstants.RES))
            {
                return(true);
            }

            if (_larsDataService.BasicSkillsMatchForLearnAimRefAndStartDate(
                    TypeOfLARSBasicSkill.AsEnglishAndMathsBasicSkills,
                    learningDelivery.LearnAimRef,
                    learningDelivery.LearnStartDate))
            {
                return(true);
            }

            if (_larsDataService.LearnAimRefExistsForLearningDeliveryCategoryRef(
                    learningDelivery.LearnAimRef,
                    TradeUnionAimsCategoryRef))
            {
                return(true);
            }

            return(false);
        }
Пример #8
0
 public bool IsExcluded(ILearningDelivery delivery) =>
 _learningDeliveryFAMQueryService.HasLearningDeliveryFAMType(
     delivery.LearningDeliveryFAMs,
     LearningDeliveryFAMTypeConstants.RES) ||
 _dd07.IsApprenticeship(delivery.ProgTypeNullable) ||
 delivery.ProgTypeNullable == ProgTypes.Traineeship ||
 _learningDeliveryFAMQueryService.HasLearningDeliveryFAMCodeForType(
     delivery.LearningDeliveryFAMs,
     LearningDeliveryFAMTypeConstants.DAM,
     LearningDeliveryFAMCodeConstants.DAM_DevolvedLevelTwoOrThreeExclusion) ||
 _learningDeliveryFAMQueryService.HasLearningDeliveryFAMCodeForType(
     delivery.LearningDeliveryFAMs,
     LearningDeliveryFAMTypeConstants.LDM,
     LearningDeliveryFAMCodeConstants.LDM_376);
Пример #9
0
 public bool IsExcluded(ILearningDelivery delivery) =>
 _learningDeliveryFAMQueryService.HasLearningDeliveryFAMType(
     delivery.LearningDeliveryFAMs,
     LearningDeliveryFAMTypeConstants.RES) ||
 _learningDeliveryFAMQueryService.HasLearningDeliveryFAMCodeForType(
     delivery.LearningDeliveryFAMs,
     LearningDeliveryFAMTypeConstants.LDM,
     LearningDeliveryFAMCodeConstants.LDM_OLASS) ||
 _learningDeliveryFAMQueryService.HasLearningDeliveryFAMCodeForType(
     delivery.LearningDeliveryFAMs,
     LearningDeliveryFAMTypeConstants.LDM,
     LearningDeliveryFAMCodeConstants.LDM_SteelRedundancy) ||
 _dd07.IsApprenticeship(delivery.ProgTypeNullable) ||
 IsSpecialistDesignatedCollege();
Пример #10
0
 public bool IsExcluded(ILearningDelivery delivery) =>
 _learningDeliveryFAMQueryService.HasLearningDeliveryFAMType(
     delivery.LearningDeliveryFAMs,
     LearningDeliveryFAMTypeConstants.RES) ||
 _learningDeliveryFAMQueryService.HasLearningDeliveryFAMCodeForType(
     delivery.LearningDeliveryFAMs,
     LearningDeliveryFAMTypeConstants.LDM,
     LearningDeliveryFAMCodeConstants.LDM_OLASS) ||
 _learningDeliveryFAMQueryService.HasLearningDeliveryFAMCodeForType(
     delivery.LearningDeliveryFAMs,
     LearningDeliveryFAMTypeConstants.LDM,
     LearningDeliveryFAMCodeConstants.LDM_SteelRedundancy) ||
 _learningDeliveryFAMQueryService.HasLearningDeliveryFAMCodeForType(
     delivery.LearningDeliveryFAMs,
     LearningDeliveryFAMTypeConstants.DAM,
     LearningDeliveryFAMCodeConstants.DAM_DevolvedLevelTwoOrThreeExclusion) ||
 _dd07.IsApprenticeship(delivery.ProgTypeNullable);
        public bool IsLearningDeliveryExcluded(ILearner learner, ILearningDelivery learningDelivery)
        {
            if (learningDelivery.ProgTypeNullable.HasValue &&
                learningDelivery.ProgTypeNullable.Value == ProgTypes.Traineeship)
            {
                return(true);
            }

            if (_dd07.IsApprenticeship(learningDelivery.ProgTypeNullable))
            {
                return(true);
            }

            if (_famQueryService.HasAnyLearningDeliveryFAMCodesForType(
                    learningDelivery.LearningDeliveryFAMs,
                    LearningDeliveryFAMTypeConstants.LDM,
                    famCodesForExclusion))
            {
                return(true);
            }

            if (_dd28.IsAdultFundedUnemployedWithBenefits(learningDelivery, learner))
            {
                return(true);
            }

            if (_dd29.IsInflexibleElementOfTrainingAimLearningDelivery(learningDelivery))
            {
                return(true);
            }

            if (_famQueryService.HasLearningDeliveryFAMType(learningDelivery.LearningDeliveryFAMs, LearningDeliveryFAMTypeConstants.RES))
            {
                return(true);
            }

            if (_larsDataService.BasicSkillsMatchForLearnAimRefAndStartDate(
                    LARSConstants.BasicSkills.EnglishAndMathsList,
                    learningDelivery.LearnAimRef,
                    learningDelivery.LearnStartDate))
            {
                return(true);
            }

            return(false);
        }
Пример #12
0
 public bool DD07ConditionMet(int? progType)
 {
     return progType.HasValue
         && progType != 25
         && _dd07.IsApprenticeship(progType);
 }
 public virtual bool ApprenticeshipConditionMet(int fundModel, int?progType)
 {
     return(!(fundModel == TypeOfFunding.NotFundedByESFA && _dd07.IsApprenticeship(progType)));
 }
Пример #14
0
 public bool IsApprenticeship(ILearningDelivery theDelivery) =>
 _dd07.IsApprenticeship(theDelivery.ProgTypeNullable);
Пример #15
0
 public virtual bool ApprenticeshipConditionMet(int?progType)
 {
     return(!_dd07.IsApprenticeship(progType));
 }
 public bool DD07ConditionMet(int?progType) => !progType.HasValue ||
 (progType != TypeOfLearningProgramme.Traineeship &&
  !_dd07.IsApprenticeship(progType));
 public bool Excluded(int?progType)
 {
     return(_dd07.IsApprenticeship(progType));
 }
Пример #18
0
 public bool DD07ConditionMet(int?progType) => !progType.HasValue ||
 (progType != ProgTypes.Traineeship &&
  !_dd07.IsApprenticeship(progType));
Пример #19
0
 private bool HasDD07(int?progType)
 {
     return(_dd07.IsApprenticeship(progType));
 }
 public bool IsAppsStandardOrFramework(int aimType, int?progType)
 {
     return(aimType == _aimType &&
            _dd07.IsApprenticeship(progType));
 }
Пример #21
0
 public bool ApprenticeshipStandardProgrammeCondition(int?progType) => _dd07.IsApprenticeship(progType) && progType == ProgTypes.ApprenticeshipStandard;
 public bool ConditionMet(int fundModel, int?progType)
 {
     return(fundModel == TypeOfFunding.ApprenticeshipsFrom1May2017 && !_dd07.IsApprenticeship(progType));
 }
Пример #23
0
 public bool IsApprenticeship(ILearningDelivery delivery) =>
 _derivedData07.IsApprenticeship(delivery.ProgTypeNullable);
Пример #24
0
 public bool DD07ConditionMet(int?progType)
 {
     return(progType.HasValue &&
            progType != TypeOfLearningProgramme.ApprenticeshipStandard &&
            _dd07.IsApprenticeship(progType));
 }
Пример #25
0
 public bool DD07ConditionMet(int?progType) => _dd07.IsApprenticeship(progType);
Пример #26
0
 public bool ApprenticeshipConditionMet(int?progType)
 {
     return(progType.HasValue ? progType == 24 || _dd07.IsApprenticeship(progType) : false);
 }
 public bool IsACandidate(ILearningDelivery delivery) =>
 _dd07.IsApprenticeship(delivery.ProgTypeNullable) &&
 delivery.AimType == AimTypes.ProgrammeAim &&
 _dateTimeQueryService.IsDateBetween(delivery.LearnStartDate, FirstViableDate, DateTime.MaxValue);
 public bool ApprenticeshipConditionMet(int?progType)
 {
     return(!_dd07.IsApprenticeship(progType) ||
            progType == 25);
 }
Пример #29
0
 public bool DD07ConditionMet(int?progType)
 {
     return(_dd07.IsApprenticeship(progType));
 }
 public bool ApprenticeshipConditionMet(int?progType)
 {
     return(progType != 25 &&
            _dd07.IsApprenticeship(progType));
 }