示例#1
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));
        }
        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 (_dd28.IsAdultFundedUnemployedWithBenefits(learningDelivery, learner))
            {
                return(true);
            }

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

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

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

            return(false);
        }
示例#3
0
 /// <summary>
 /// Determines whether [is inflexible element of training aim] [the specified candidate].
 /// </summary>
 /// <param name="candidate">The candidate.</param>
 /// <returns>
 ///   <c>true</c> if [is inflexible element of training aim] [the specified candidate]; otherwise, <c>false</c>.
 /// </returns>
 public bool IsInflexibleElementOfTrainingAim(ILearner candidate) =>
 _derivedData29.IsInflexibleElementOfTrainingAim(candidate);