/// <summary> /// Determines whether [is not valid] [this delivery]. /// </summary> /// <param name="thisDelivery">this delivery.</param> /// <param name="earliestStart">The earliest start.</param> /// <returns> /// <c>true</c> if [is not valid] [this delivery]; otherwise, <c>false</c>. /// </returns> public bool IsNotValid(ILearningDelivery thisDelivery, DateTime?earliestStart) => !IsExcluded(thisDelivery) && _check.IsComponentOfAProgram(thisDelivery) && _check.InApprenticeship(thisDelivery) && !It.IsEmpty(earliestStart) && !HasQualifyingFrameworkAim(FilteredFrameworkAimsFor(thisDelivery, GetQualifyingFrameworksFor(thisDelivery)), earliestStart.Value);