/// <summary> /// Determines whether [is qualifying primary learning aim] [this delivery]. /// </summary> /// <param name="thisDelivery">this delivery.</param> /// <returns> /// <c>true</c> if [is qualifying primary learning aim] [this delivery]; otherwise, <c>false</c>. /// </returns> public bool IsQualifyingPrimaryLearningAim(ILearningDelivery thisDelivery) => It.Has(thisDelivery) && _check.HasQualifyingStart(thisDelivery, DateTime.MinValue, OldCodeMonitoringThresholdDate) && _check.IsTraineeship(thisDelivery) && _check.InAProgramme(thisDelivery);
/// <summary> /// Determines whether [is primary learning aim] [this delivery]. /// </summary> /// <param name="thisDelivery">this delivery.</param> /// <returns> /// <c>true</c> if [is primary learning aim] [this delivery]; otherwise, <c>false</c>. /// </returns> public bool IsPrimaryLearningAim(ILearningDelivery thisDelivery) => _check.InApprenticeship(thisDelivery) && _check.InAProgramme(thisDelivery);
/// <summary> /// Determines whether the specified delivery is a candidate. /// </summary> /// <param name="delivery">The delivery.</param> /// <returns> /// <c>true</c> if the specified delivery is a candidate; otherwise, <c>false</c>. /// </returns> public bool IsACandidate(ILearningDelivery delivery) => _check.InApprenticeship(delivery) && _check.InAProgramme(delivery) && _check.HasQualifyingStart(delivery, FirstViableDate);
/// <summary> /// Determines whether [is not valid] [the specified delivery]. /// </summary> /// <param name="thisDelivery">this delivery.</param> /// <returns> /// <c>true</c> if [is not valid] [the specified delivery]; otherwise, <c>false</c>. /// </returns> public bool IsNotValid(ILearningDelivery thisDelivery) => !_check.IsRestart(thisDelivery) && _check.IsStandardApprencticeship(thisDelivery) && _check.InAProgramme(thisDelivery) && It.Has(thisDelivery.StdCodeNullable) && !HasQualifyingStart(thisDelivery, GetStandardPeriodsOfValidityFor(thisDelivery));
/// <summary> /// Determines whether [is restriction match] [the specified delivery]. /// </summary> /// <param name="delivery">The delivery.</param> /// <returns> /// <c>true</c> if [is restriction match] [the specified delivery]; otherwise, <c>false</c>. /// </returns> public bool IsRestrictionMatch(ILearningDelivery delivery) => _check.IsTraineeship(delivery) && _check.InAProgramme(delivery) && _check.HasQualifyingStart(delivery, NewCodeMonitoringThresholdDate);
/// <summary> /// Determines whether [has restrictions match] [the specified candidate]. /// </summary> /// <param name="candidate">The candidate.</param> /// <param name="andDelivery">The and delivery.</param> /// <returns> /// <c>true</c> if [has restrictions match] [the specified candidate]; otherwise, <c>false</c>. /// </returns> public bool HasRestrictionsMatch(ILearningDelivery candidate, ILearningDelivery andDelivery) => _check.IsStandardApprencticeship(candidate) && _check.InAProgramme(candidate) && HasMatchingStandardCode(candidate, andDelivery);