namespace SimpleAdmin.Application; /// /// 签署材料模板版本的时间有效性规则。 /// internal static class ContractTemplateVersionValidity { internal static void ValidateRange(DateTime? effectiveAt, DateTime? expiresAt) { if (effectiveAt.HasValue && expiresAt.HasValue && expiresAt.Value <= effectiveAt.Value) throw Oops.Bah("失效时间必须晚于生效时间"); } internal static bool IsAvailable(ObContractTemplateVersion version, DateTime now) { return version != null && version.VersionStatus == ContractTemplateVersionStatus.Enabled && (!version.EffectiveDate.HasValue || version.EffectiveDate.Value <= now) && (!version.ExpiryDate.HasValue || version.ExpiryDate.Value > now); } }