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));
                }
            }
        }
Ejemplo n.º 2
0
        public bool CategoryRefConditionMet(ILearningDelivery learningDelivery)
        {
            var ddLookup         = _ddCategoryRef.Derive(learningDelivery);
            var larsCategoryRefs = _larsDataService.GetCategoriesFor(learningDelivery.LearnAimRef);

            return(larsCategoryRefs.Any(x => x.CategoryRef == ddLookup));
        }
Ejemplo n.º 3
0
        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));
        }
Ejemplo n.º 5
0
        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));
        }