From 57dc12d703413d621b97d6f5d335f69aab5fb33d Mon Sep 17 00:00:00 2001 From: Veljko Tosic Date: Mon, 9 Feb 2026 19:45:25 +0100 Subject: [PATCH] Basic Date rules --- .../Validation/Rules/DateInFutureRule.cs | 22 +++++++++++++++++++ .../Common/Validation/Rules/DateInPastRule.cs | 22 +++++++++++++++++++ 2 files changed, 44 insertions(+) create mode 100644 dotnet/AipsCore/Domain/Common/Validation/Rules/DateInFutureRule.cs create mode 100644 dotnet/AipsCore/Domain/Common/Validation/Rules/DateInPastRule.cs 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