Exemplo n.º 1
0
        public bool LarsValidityConditionMet(string category, string learnAimRef, DateTime learnStartDate)
        {
            var larsValidity = _larsDataService?.GetValiditiesFor(learnAimRef)
                               .Where(v => v.ValidityCategory.CaseInsensitiveEquals(category)) ?? Enumerable.Empty <ILARSLearningDeliveryValidity>();

            return(!larsValidity.Any() || larsValidity.Any(l => learnStartDate < l.StartDate || learnStartDate > l.EndDate));
        }
        /// <summary>
        /// Determines whether [is basic skills learner] [the specified delivery].
        /// </summary>
        /// <param name="delivery">The delivery.</param>
        /// <returns>
        ///   <c>true</c> if [is basic skills learner] [the specified delivery]; otherwise, <c>false</c>.
        /// </returns>
        public bool IsBasicSkillsLearner(ILearningDelivery delivery)
        {
            var validities   = _larsData.GetValiditiesFor(delivery.LearnAimRef);
            var annualValues = _larsData.GetAnnualValuesFor(delivery.LearnAimRef);

            return(validities.Any(x => x.IsCurrent(delivery.LearnStartDate)) &&
                   annualValues.Any(IsBasicSkillsLearner));
        }
Exemplo n.º 3
0
        /// <summary>
        /// Determines whether [has valid learning aim] [the specified delivery].
        /// </summary>
        /// <param name="delivery">The delivery.</param>
        /// <returns>
        ///   <c>true</c> if [has valid learning aim] [the specified delivery]; otherwise, <c>false</c>.
        /// </returns>
        public bool HasValidLearningAim(ILearningDelivery delivery)
        {
            var validities = _larsData.GetValiditiesFor(delivery.LearnAimRef).AsSafeReadOnlyList();

            return(validities
                   .Where(x => InValidStartRange(x, delivery))
                   .Any(HasQualifyingCategory));
        }
Exemplo n.º 4
0
        public bool LarsValidityCategoryConditionMet(string category, string learnAimRef, DateTime previousYearEnd)
        {
            var larsValidities = _larsDataService?.GetValiditiesFor(learnAimRef)
                                 .Where(v => v.ValidityCategory.CaseInsensitiveEquals(category)) ?? Enumerable.Empty <ILARSLearningDeliveryValidity>();

            if (!larsValidities.Any())
            {
                return(true);
            }

            var latestValidity = larsValidities.OrderByDescending(s => s.StartDate).FirstOrDefault();

            return(latestValidity == null ? false : latestValidity.EndDate.HasValue && latestValidity.EndDate <= previousYearEnd);
        }