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); }
/// <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);