public void Validate(ILearner learner) { if (learner?.LearningDeliveries == null) { return; } foreach (var learningDelivery in learner.LearningDeliveries) { var filteredFams = _learningDeliveryFAMQueryService.GetLearningDeliveryFAMsForTypeAndCodes(learningDelivery.LearningDeliveryFAMs, LearningDeliveryFAMTypeConstants.LDM, _ldmCodes); if (filteredFams == null || !filteredFams.Any()) { continue; } var larsCategories = _larsDataService.GetCategoriesFor(learningDelivery.LearnAimRef); if (ConditionMet(learningDelivery, larsCategories)) { HandleValidationError( learner.LearnRefNumber, learningDelivery.AimSeqNumber, BuildErrorMessageParameters(larsCategories)); } } }
public bool CategoryRefConditionMet(ILearningDelivery learningDelivery) { var ddLookup = _ddCategoryRef.Derive(learningDelivery); var larsCategoryRefs = _larsDataService.GetCategoriesFor(learningDelivery.LearnAimRef); return(larsCategoryRefs.Any(x => x.CategoryRef == ddLookup)); }
public bool LarsCategoryConditionMet(int categoryRef, string learnAimRef, DateTime learnStartDate) { var larsCategories = _larsDataService? .GetCategoriesFor(learnAimRef) .Where(x => x.CategoryRef == categoryRef) ?? Enumerable.Empty <ILARSLearningCategory>(); return(!larsCategories.Any() || larsCategories.Any(l => learnStartDate < l.StartDate || learnStartDate > (l.EndDate ?? DateTime.MaxValue))); }
public bool LarsCategoryConditionMet(int categoryRef, string learnAimRef, DateTime dateToCompare) { var larsCategories = _larsDataService? .GetCategoriesFor(learnAimRef) .Where(x => x.CategoryRef == categoryRef) ?? Enumerable.Empty <ILARSLearningCategory>(); return(!larsCategories.Any() || larsCategories.Any(l => dateToCompare > l.EndDate)); }
public void Validate(ILearner learner) { if (learner?.LearningDeliveries == null) { return; } foreach (var learningDelivery in learner.LearningDeliveries) { var larsCategories = _larsDataService.GetCategoriesFor(learningDelivery.LearnAimRef); if (ConditionMet(learningDelivery, larsCategories)) { HandleValidationError(learner.LearnRefNumber, learningDelivery.AimSeqNumber, BuildErrorMessageParameters(larsCategories)); } } }
public bool HasQualifyingCategory(ILearningDelivery delivery) { var categories = _larsData.GetCategoriesFor(delivery.LearnAimRef); return(categories.NullSafeAny(IsQualifyingCategory)); }
/// <summary> /// Determines whether [has disqualifying learning category] [the specified delivery]. /// </summary> /// <param name="delivery">The delivery.</param> /// <returns> /// <c>true</c> if [has disqualifying learning category] [the specified delivery]; otherwise, <c>false</c>. /// </returns> public bool HasDisqualifyingLearningCategory(ILearningDelivery delivery) { var categories = _larsData.GetCategoriesFor(delivery.LearnAimRef).AsSafeReadOnlyList(); return(categories.Any(HasDisqualifyingLearningCategory)); }
public bool IsWorkExperience(ILearningDelivery delivery) { var categories = _larsData.GetCategoriesFor(delivery.LearnAimRef); return(categories.Any(IsWorkExperience)); }
public bool LarsCategoryConditionMet(string learnAimRef) { var larsCategories = _larsDataService.GetCategoriesFor(learnAimRef); return(larsCategories.Any(x => x.CategoryRef == _larsCategoryRef)); }