diff --git a/dotnet/AipsCore/Domain/Common/Validation/Rules/DateInFutureRule.cs b/dotnet/AipsCore/Domain/Common/Validation/Rules/DateInFutureRule.cs new file mode 100644 index 0000000..cf48254 --- /dev/null +++ b/dotnet/AipsCore/Domain/Common/Validation/Rules/DateInFutureRule.cs @@ -0,0 +1,22 @@ +using AipsCore.Domain.Abstract.Rule; + +namespace AipsCore.Domain.Common.Validation.Rules; + +public class DateInFutureRule : AbstractRule +{ + private readonly DateTime _date; + private readonly DateTime _now; + + public DateInFutureRule(DateTime date) + { + _date = date; + _now = DateTime.Now; + } + + protected override string ErrorCode => "date_in_future"; + protected override string ErrorMessage => "Date must be in the future"; + public override bool Validate() + { + return _date > _now; + } +} \ No newline at end of file diff --git a/dotnet/AipsCore/Domain/Common/Validation/Rules/DateInPastRule.cs b/dotnet/AipsCore/Domain/Common/Validation/Rules/DateInPastRule.cs new file mode 100644 index 0000000..2120aa6 --- /dev/null +++ b/dotnet/AipsCore/Domain/Common/Validation/Rules/DateInPastRule.cs @@ -0,0 +1,22 @@ +using AipsCore.Domain.Abstract.Rule; + +namespace AipsCore.Domain.Common.Validation.Rules; + +public class DateInPastRule : AbstractRule +{ + private readonly DateTime _date; + private readonly DateTime _now; + + public DateInPastRule(DateTime date) + { + _date = date; + _now = DateTime.Now; + } + + protected override string ErrorCode => "date_in_past"; + protected override string ErrorMessage => "Date must be in the past"; + public override bool Validate() + { + return _date < _now; + } +} \ No newline at end of file