internal static IValidationChain HasValidValidationDate(this IStartValidationChain validationChain, DateTime validationDate)
 {
     return(validationChain.AssertThat(license => CheckValidationDate(validationDate),
                                       new GeneralValidationFailure()
     {
         Message = "System date-time changes detected! Please import extended license file or contact the system administrator!",
         HowToResolve = "Please contact the system administrator!"
     }));
 }
 internal static IValidationChain IsLicensedTo(this IStartValidationChain validationChain, string customerName, string contactEmail)
 {
     return(validationChain.AssertThat(license => CheckCustomer(license, customerName, contactEmail),
                                       new GeneralValidationFailure()
     {
         Message = "Wrong license file!",
         HowToResolve = "Please contact the system administrator!"
     }));
 }
 internal static IValidationChain HasValidHardwareId(this IStartValidationChain validationChain)
 {
     return(validationChain.AssertThat(license => CheckHardwareId(license),
                                       new GeneralValidationFailure()
     {
         Message = "The Hardware ID of the current machine is not licensed!",
         HowToResolve = "Please contact the system administrator!"
     }));
 }