implement

This commit is contained in:
2026-02-08 21:32:24 +01:00
parent 90c127ddb3
commit 9d95bb5cc3
15 changed files with 313 additions and 0 deletions

View File

@@ -0,0 +1,23 @@
using AipsCore.Domain.Abstract.Rule;
using AipsCore.Domain.Abstract.ValueObject;
namespace AipsCore.Domain.Models.Shape.ValueObjects;
public record Position : AbstractValueObject
{
public int X { get; }
public int Y { get; }
public Position(int x, int y)
{
X = x;
Y = y;
}
protected override ICollection<IRule> GetValidationRules()
{
return [
];
}
};

View File

@@ -0,0 +1,5 @@
using AipsCore.Domain.Common.ValueObjects;
namespace AipsCore.Domain.Models.Shape.ValueObjects;
public record ShapeId(string Value) : DomainId(Value);

View File

@@ -0,0 +1,27 @@
using AipsCore.Domain.Abstract.Rule;
using AipsCore.Domain.Abstract.ValueObject;
using AipsCore.Domain.Common.Validation.Rules;
namespace AipsCore.Domain.Models.Shape.ValueObjects;
public record Thickness : AbstractValueObject
{
private const int MaxThickness = 8;
private const int MinThickness = 1;
private readonly int _value;
public Thickness(int value)
{
_value = value;
}
protected override ICollection<IRule> GetValidationRules()
{
return
[
new MinValueRule<int>(_value, MinThickness),
new MaxValueRule<int>(_value, MaxThickness),
];
}
}