From 9d95bb5cc3c34d1b1c32bd7469ceb829f33fb06f Mon Sep 17 00:00:00 2001 From: Andrija Stevanovic Date: Sun, 8 Feb 2026 21:32:24 +0100 Subject: [PATCH 1/4] implement --- .../Validation/Rules/ColorFormatRule.cs | 29 +++++++++++++++++++ .../Common/Validation/Rules/MaxValueRule.cs | 23 +++++++++++++++ .../Common/Validation/Rules/MinValueRule.cs | 23 +++++++++++++++ .../Domain/Common/ValueObjects/Color.cs | 23 +++++++++++++++ .../Models/Shape/Enums/ShapeTypeEnum.cs | 9 ++++++ dotnet/AipsCore/Domain/Models/Shape/Shape.cs | 23 +++++++++++++++ .../Domain/Models/Shape/Sub/Arrow/Arrow.cs | 19 ++++++++++++ .../Domain/Models/Shape/Sub/Line/Line.cs | 19 ++++++++++++ .../Models/Shape/Sub/Rectangle/Rectangle.cs | 22 ++++++++++++++ .../Models/Shape/Sub/TextShape/TextShape.cs | 22 ++++++++++++++ .../TextShape/ValueObjects/TextShapeSize.cs | 27 +++++++++++++++++ .../TextShape/ValueObjects/TextShapeValue.cs | 19 ++++++++++++ .../Models/Shape/ValueObjects/Position.cs | 23 +++++++++++++++ .../Models/Shape/ValueObjects/ShapeId.cs | 5 ++++ .../Models/Shape/ValueObjects/Thickness.cs | 27 +++++++++++++++++ 15 files changed, 313 insertions(+) create mode 100644 dotnet/AipsCore/Domain/Common/Validation/Rules/ColorFormatRule.cs create mode 100644 dotnet/AipsCore/Domain/Common/Validation/Rules/MaxValueRule.cs create mode 100644 dotnet/AipsCore/Domain/Common/Validation/Rules/MinValueRule.cs create mode 100644 dotnet/AipsCore/Domain/Common/ValueObjects/Color.cs create mode 100644 dotnet/AipsCore/Domain/Models/Shape/Enums/ShapeTypeEnum.cs create mode 100644 dotnet/AipsCore/Domain/Models/Shape/Shape.cs create mode 100644 dotnet/AipsCore/Domain/Models/Shape/Sub/Arrow/Arrow.cs create mode 100644 dotnet/AipsCore/Domain/Models/Shape/Sub/Line/Line.cs create mode 100644 dotnet/AipsCore/Domain/Models/Shape/Sub/Rectangle/Rectangle.cs create mode 100644 dotnet/AipsCore/Domain/Models/Shape/Sub/TextShape/TextShape.cs create mode 100644 dotnet/AipsCore/Domain/Models/Shape/Sub/TextShape/ValueObjects/TextShapeSize.cs create mode 100644 dotnet/AipsCore/Domain/Models/Shape/Sub/TextShape/ValueObjects/TextShapeValue.cs create mode 100644 dotnet/AipsCore/Domain/Models/Shape/ValueObjects/Position.cs create mode 100644 dotnet/AipsCore/Domain/Models/Shape/ValueObjects/ShapeId.cs create mode 100644 dotnet/AipsCore/Domain/Models/Shape/ValueObjects/Thickness.cs diff --git a/dotnet/AipsCore/Domain/Common/Validation/Rules/ColorFormatRule.cs b/dotnet/AipsCore/Domain/Common/Validation/Rules/ColorFormatRule.cs new file mode 100644 index 0000000..98d2dd1 --- /dev/null +++ b/dotnet/AipsCore/Domain/Common/Validation/Rules/ColorFormatRule.cs @@ -0,0 +1,29 @@ +using AipsCore.Domain.Abstract.Rule; + +namespace AipsCore.Domain.Common.Validation.Rules; + +public class ColorFormatRule : AbstractRule +{ + private readonly string _colorValue; + protected override string ErrorCode => "color_format"; + protected override string ErrorMessage => "Color should be in format '#000000'"; + + public ColorFormatRule(string colorValue) + { + _colorValue = colorValue; + } + + public override bool Validate() + { + if (_colorValue.Length != 7) return false; + + if (_colorValue[0] != '#') return false; + + for (int i = 1; i < _colorValue.Length; i++) + { + if (!char.IsAsciiHexDigit(_colorValue[i])) return false; + } + + return true; + } +} \ No newline at end of file diff --git a/dotnet/AipsCore/Domain/Common/Validation/Rules/MaxValueRule.cs b/dotnet/AipsCore/Domain/Common/Validation/Rules/MaxValueRule.cs new file mode 100644 index 0000000..4d0381d --- /dev/null +++ b/dotnet/AipsCore/Domain/Common/Validation/Rules/MaxValueRule.cs @@ -0,0 +1,23 @@ +using System.Numerics; +using AipsCore.Domain.Abstract.Rule; + +namespace AipsCore.Domain.Common.Validation.Rules; + +public class MaxValueRule : AbstractRule where T : INumber +{ + private readonly T _value; + private readonly T _maximum; + + public MaxValueRule(T value, T maximum) + { + _value = value; + _maximum = maximum; + } + + protected override string ErrorCode => "max_value"; + protected override string ErrorMessage => $"Value of '{ValueObjectName}' should be at most {_maximum}"; + public override bool Validate() + { + return _value <= _maximum; + } +} \ No newline at end of file diff --git a/dotnet/AipsCore/Domain/Common/Validation/Rules/MinValueRule.cs b/dotnet/AipsCore/Domain/Common/Validation/Rules/MinValueRule.cs new file mode 100644 index 0000000..ada04e2 --- /dev/null +++ b/dotnet/AipsCore/Domain/Common/Validation/Rules/MinValueRule.cs @@ -0,0 +1,23 @@ +using System.Numerics; +using AipsCore.Domain.Abstract.Rule; + +namespace AipsCore.Domain.Common.Validation.Rules; + +public class MinValueRule: AbstractRule where T : INumber +{ + private readonly T _value; + private readonly T _minimum; + + public MinValueRule(T value, T minimum) + { + _value = value; + _minimum = minimum; + } + + protected override string ErrorCode => "min_value"; + protected override string ErrorMessage => $"Value of '{ValueObjectName}' should be at least {_minimum}"; + public override bool Validate() + { + return _value >= _minimum; + } +} \ No newline at end of file diff --git a/dotnet/AipsCore/Domain/Common/ValueObjects/Color.cs b/dotnet/AipsCore/Domain/Common/ValueObjects/Color.cs new file mode 100644 index 0000000..8443bb0 --- /dev/null +++ b/dotnet/AipsCore/Domain/Common/ValueObjects/Color.cs @@ -0,0 +1,23 @@ +using AipsCore.Domain.Abstract.Rule; +using AipsCore.Domain.Abstract.ValueObject; +using AipsCore.Domain.Common.Validation.Rules; + +namespace AipsCore.Domain.Common.ValueObjects; + +public record Color : AbstractValueObject +{ + public string Value { get; } + + public Color(string value) + { + Value = value; + } + + protected override ICollection GetValidationRules() + { + return + [ + new ColorFormatRule(Value) + ]; + } +} \ No newline at end of file diff --git a/dotnet/AipsCore/Domain/Models/Shape/Enums/ShapeTypeEnum.cs b/dotnet/AipsCore/Domain/Models/Shape/Enums/ShapeTypeEnum.cs new file mode 100644 index 0000000..52fe3ed --- /dev/null +++ b/dotnet/AipsCore/Domain/Models/Shape/Enums/ShapeTypeEnum.cs @@ -0,0 +1,9 @@ +namespace AipsCore.Domain.Models.Shape.Enums; + +public enum ShapeTypeEnum +{ + Rectangle, + Line, + Arrow, + Text +} \ No newline at end of file diff --git a/dotnet/AipsCore/Domain/Models/Shape/Shape.cs b/dotnet/AipsCore/Domain/Models/Shape/Shape.cs new file mode 100644 index 0000000..3be68f2 --- /dev/null +++ b/dotnet/AipsCore/Domain/Models/Shape/Shape.cs @@ -0,0 +1,23 @@ +using System.Drawing; +using AipsCore.Domain.Models.Shape.Enums; +using AipsCore.Domain.Models.Shape.ValueObjects; + +namespace AipsCore.Domain.Models.Shape; + +public abstract class Shape +{ + public ShapeId Id { get; } + + public abstract ShapeTypeEnum ShapeType { get; } + + public Position Position { get; private set; } + + public Color Color { get; private set; } + + protected Shape(ShapeId id, Position position, Color color) + { + Id = id; + Position = position; + Color = color; + } +} \ No newline at end of file diff --git a/dotnet/AipsCore/Domain/Models/Shape/Sub/Arrow/Arrow.cs b/dotnet/AipsCore/Domain/Models/Shape/Sub/Arrow/Arrow.cs new file mode 100644 index 0000000..bf8b9c1 --- /dev/null +++ b/dotnet/AipsCore/Domain/Models/Shape/Sub/Arrow/Arrow.cs @@ -0,0 +1,19 @@ +using System.Drawing; +using AipsCore.Domain.Models.Shape.Enums; +using AipsCore.Domain.Models.Shape.ValueObjects; + +namespace AipsCore.Domain.Models.Shape.Sub.Arrow; + +public class Arrow : Shape +{ + public Position EndPosition { get; private set; } + public Thickness Thickness { get; private set; } + + public Arrow(ShapeId id, Position position, Color color, Position endPosition, Thickness thickness) : base(id, position, color) + { + EndPosition = endPosition; + Thickness = thickness; + } + + public override ShapeTypeEnum ShapeType => ShapeTypeEnum.Arrow; +} \ No newline at end of file diff --git a/dotnet/AipsCore/Domain/Models/Shape/Sub/Line/Line.cs b/dotnet/AipsCore/Domain/Models/Shape/Sub/Line/Line.cs new file mode 100644 index 0000000..b3ea13a --- /dev/null +++ b/dotnet/AipsCore/Domain/Models/Shape/Sub/Line/Line.cs @@ -0,0 +1,19 @@ +using System.Drawing; +using AipsCore.Domain.Models.Shape.Enums; +using AipsCore.Domain.Models.Shape.ValueObjects; + +namespace AipsCore.Domain.Models.Shape.Sub.Line; + +public class Line : Shape +{ + public Position EndPosition { get; private set; } + public Thickness Thickness { get; private set; } + + public Line(ShapeId id, Position position, Color color, Position endPosition, Thickness thickness) : base(id, position, color) + { + EndPosition = endPosition; + Thickness = thickness; + } + + public override ShapeTypeEnum ShapeType => ShapeTypeEnum.Line; +} \ No newline at end of file diff --git a/dotnet/AipsCore/Domain/Models/Shape/Sub/Rectangle/Rectangle.cs b/dotnet/AipsCore/Domain/Models/Shape/Sub/Rectangle/Rectangle.cs new file mode 100644 index 0000000..743176d --- /dev/null +++ b/dotnet/AipsCore/Domain/Models/Shape/Sub/Rectangle/Rectangle.cs @@ -0,0 +1,22 @@ +using System.Drawing; +using AipsCore.Domain.Models.Shape.Enums; +using AipsCore.Domain.Models.Shape.ValueObjects; + +namespace AipsCore.Domain.Models.Shape.Sub.Rectangle; + +public class Rectangle : Shape +{ + public override ShapeTypeEnum ShapeType => ShapeTypeEnum.Rectangle; + + public Position EndPosition { get; } + + public Thickness BorderThickness { get; } + + public Rectangle(ShapeId id, Position position, Color color, Position endPosition, Thickness borderThickness) + : base(id, position, color) + { + EndPosition = endPosition; + BorderThickness = borderThickness; + } + +} \ No newline at end of file diff --git a/dotnet/AipsCore/Domain/Models/Shape/Sub/TextShape/TextShape.cs b/dotnet/AipsCore/Domain/Models/Shape/Sub/TextShape/TextShape.cs new file mode 100644 index 0000000..057d0d2 --- /dev/null +++ b/dotnet/AipsCore/Domain/Models/Shape/Sub/TextShape/TextShape.cs @@ -0,0 +1,22 @@ +using System.Drawing; +using AipsCore.Domain.Models.Shape.Enums; +using AipsCore.Domain.Models.Shape.Sub.TextShape.ValueObjects; +using AipsCore.Domain.Models.Shape.ValueObjects; + +namespace AipsCore.Domain.Models.Shape.Sub.TextShape; + +public class TextShape : Shape +{ + public TextShapeValue TextShapeValue { get; private set; } + + public TextShapeSize TextShapeSize { get; private set; } + + public TextShape(ShapeId id, Position position, Color color, TextShapeValue textShapeValue, TextShapeSize textShapeSize) + : base(id, position, color) + { + TextShapeValue = textShapeValue; + TextShapeSize = textShapeSize; + } + + public override ShapeTypeEnum ShapeType => ShapeTypeEnum.Text; +} \ No newline at end of file diff --git a/dotnet/AipsCore/Domain/Models/Shape/Sub/TextShape/ValueObjects/TextShapeSize.cs b/dotnet/AipsCore/Domain/Models/Shape/Sub/TextShape/ValueObjects/TextShapeSize.cs new file mode 100644 index 0000000..a699f18 --- /dev/null +++ b/dotnet/AipsCore/Domain/Models/Shape/Sub/TextShape/ValueObjects/TextShapeSize.cs @@ -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.Sub.TextShape.ValueObjects; + +public record TextShapeSize : AbstractValueObject +{ + public const int MaxTextShapeSize = 72; + public const int MinTextShapeSize = 8; + + public int Size { get; } + + public TextShapeSize(int size) + { + Size = size; + } + + protected override ICollection GetValidationRules() + { + return + [ + new MaxValueRule(Size, MaxTextShapeSize), + new MinValueRule(Size, MinTextShapeSize) + ]; + } +} \ No newline at end of file diff --git a/dotnet/AipsCore/Domain/Models/Shape/Sub/TextShape/ValueObjects/TextShapeValue.cs b/dotnet/AipsCore/Domain/Models/Shape/Sub/TextShape/ValueObjects/TextShapeValue.cs new file mode 100644 index 0000000..8835787 --- /dev/null +++ b/dotnet/AipsCore/Domain/Models/Shape/Sub/TextShape/ValueObjects/TextShapeValue.cs @@ -0,0 +1,19 @@ +using AipsCore.Domain.Abstract.Rule; +using AipsCore.Domain.Abstract.ValueObject; + +namespace AipsCore.Domain.Models.Shape.Sub.TextShape.ValueObjects; + +public record TextShapeValue: AbstractValueObject +{ + public string Text { get; } + + public TextShapeValue(string text) + { + Text = text; + } + + protected override ICollection GetValidationRules() + { + return []; + } +} \ No newline at end of file diff --git a/dotnet/AipsCore/Domain/Models/Shape/ValueObjects/Position.cs b/dotnet/AipsCore/Domain/Models/Shape/ValueObjects/Position.cs new file mode 100644 index 0000000..22af8a8 --- /dev/null +++ b/dotnet/AipsCore/Domain/Models/Shape/ValueObjects/Position.cs @@ -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 GetValidationRules() + { + return [ + + ]; + } +}; \ No newline at end of file diff --git a/dotnet/AipsCore/Domain/Models/Shape/ValueObjects/ShapeId.cs b/dotnet/AipsCore/Domain/Models/Shape/ValueObjects/ShapeId.cs new file mode 100644 index 0000000..bfc6cc4 --- /dev/null +++ b/dotnet/AipsCore/Domain/Models/Shape/ValueObjects/ShapeId.cs @@ -0,0 +1,5 @@ +using AipsCore.Domain.Common.ValueObjects; + +namespace AipsCore.Domain.Models.Shape.ValueObjects; + +public record ShapeId(string Value) : DomainId(Value); \ No newline at end of file diff --git a/dotnet/AipsCore/Domain/Models/Shape/ValueObjects/Thickness.cs b/dotnet/AipsCore/Domain/Models/Shape/ValueObjects/Thickness.cs new file mode 100644 index 0000000..ce38c61 --- /dev/null +++ b/dotnet/AipsCore/Domain/Models/Shape/ValueObjects/Thickness.cs @@ -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 GetValidationRules() + { + return + [ + new MinValueRule(_value, MinThickness), + new MaxValueRule(_value, MaxThickness), + ]; + } +} \ No newline at end of file From 555368484c3444da423dd0ed987ae91d9a9d0105 Mon Sep 17 00:00:00 2001 From: Andrija Stevanovic Date: Sun, 8 Feb 2026 21:38:23 +0100 Subject: [PATCH 2/4] whiteboard id added --- dotnet/AipsCore/Domain/Models/Shape/Shape.cs | 6 +++++- dotnet/AipsCore/Domain/Models/Shape/Sub/Arrow/Arrow.cs | 3 ++- dotnet/AipsCore/Domain/Models/Shape/Sub/Line/Line.cs | 3 ++- .../AipsCore/Domain/Models/Shape/Sub/Rectangle/Rectangle.cs | 5 +++-- .../AipsCore/Domain/Models/Shape/Sub/TextShape/TextShape.cs | 5 +++-- 5 files changed, 15 insertions(+), 7 deletions(-) diff --git a/dotnet/AipsCore/Domain/Models/Shape/Shape.cs b/dotnet/AipsCore/Domain/Models/Shape/Shape.cs index 3be68f2..0503bf5 100644 --- a/dotnet/AipsCore/Domain/Models/Shape/Shape.cs +++ b/dotnet/AipsCore/Domain/Models/Shape/Shape.cs @@ -1,6 +1,7 @@ using System.Drawing; using AipsCore.Domain.Models.Shape.Enums; using AipsCore.Domain.Models.Shape.ValueObjects; +using AipsCore.Domain.Models.Whiteboard.ValueObjects; namespace AipsCore.Domain.Models.Shape; @@ -8,16 +9,19 @@ public abstract class Shape { public ShapeId Id { get; } + public WhiteboardId WhiteboardId { get; private set; } + public abstract ShapeTypeEnum ShapeType { get; } public Position Position { get; private set; } public Color Color { get; private set; } - protected Shape(ShapeId id, Position position, Color color) + protected Shape(ShapeId id, WhiteboardId whiteboardId, Position position, Color color) { Id = id; Position = position; Color = color; + WhiteboardId = whiteboardId; } } \ No newline at end of file diff --git a/dotnet/AipsCore/Domain/Models/Shape/Sub/Arrow/Arrow.cs b/dotnet/AipsCore/Domain/Models/Shape/Sub/Arrow/Arrow.cs index bf8b9c1..ab8593b 100644 --- a/dotnet/AipsCore/Domain/Models/Shape/Sub/Arrow/Arrow.cs +++ b/dotnet/AipsCore/Domain/Models/Shape/Sub/Arrow/Arrow.cs @@ -1,6 +1,7 @@ using System.Drawing; using AipsCore.Domain.Models.Shape.Enums; using AipsCore.Domain.Models.Shape.ValueObjects; +using AipsCore.Domain.Models.Whiteboard.ValueObjects; namespace AipsCore.Domain.Models.Shape.Sub.Arrow; @@ -9,7 +10,7 @@ public class Arrow : Shape public Position EndPosition { get; private set; } public Thickness Thickness { get; private set; } - public Arrow(ShapeId id, Position position, Color color, Position endPosition, Thickness thickness) : base(id, position, color) + public Arrow(ShapeId id, WhiteboardId whiteboardId, Position position, Color color, Position endPosition, Thickness thickness) : base(id, whiteboardId, position, color) { EndPosition = endPosition; Thickness = thickness; diff --git a/dotnet/AipsCore/Domain/Models/Shape/Sub/Line/Line.cs b/dotnet/AipsCore/Domain/Models/Shape/Sub/Line/Line.cs index b3ea13a..5ce452c 100644 --- a/dotnet/AipsCore/Domain/Models/Shape/Sub/Line/Line.cs +++ b/dotnet/AipsCore/Domain/Models/Shape/Sub/Line/Line.cs @@ -1,6 +1,7 @@ using System.Drawing; using AipsCore.Domain.Models.Shape.Enums; using AipsCore.Domain.Models.Shape.ValueObjects; +using AipsCore.Domain.Models.Whiteboard.ValueObjects; namespace AipsCore.Domain.Models.Shape.Sub.Line; @@ -9,7 +10,7 @@ public class Line : Shape public Position EndPosition { get; private set; } public Thickness Thickness { get; private set; } - public Line(ShapeId id, Position position, Color color, Position endPosition, Thickness thickness) : base(id, position, color) + public Line(ShapeId id, WhiteboardId whiteboardId, Position position, Color color, Position endPosition, Thickness thickness) : base(id, whiteboardId, position, color) { EndPosition = endPosition; Thickness = thickness; diff --git a/dotnet/AipsCore/Domain/Models/Shape/Sub/Rectangle/Rectangle.cs b/dotnet/AipsCore/Domain/Models/Shape/Sub/Rectangle/Rectangle.cs index 743176d..fee0a10 100644 --- a/dotnet/AipsCore/Domain/Models/Shape/Sub/Rectangle/Rectangle.cs +++ b/dotnet/AipsCore/Domain/Models/Shape/Sub/Rectangle/Rectangle.cs @@ -1,6 +1,7 @@ using System.Drawing; using AipsCore.Domain.Models.Shape.Enums; using AipsCore.Domain.Models.Shape.ValueObjects; +using AipsCore.Domain.Models.Whiteboard.ValueObjects; namespace AipsCore.Domain.Models.Shape.Sub.Rectangle; @@ -12,8 +13,8 @@ public class Rectangle : Shape public Thickness BorderThickness { get; } - public Rectangle(ShapeId id, Position position, Color color, Position endPosition, Thickness borderThickness) - : base(id, position, color) + public Rectangle(ShapeId id, WhiteboardId whiteboardId, Position position, Color color, Position endPosition, Thickness borderThickness) + : base(id, whiteboardId, position, color) { EndPosition = endPosition; BorderThickness = borderThickness; diff --git a/dotnet/AipsCore/Domain/Models/Shape/Sub/TextShape/TextShape.cs b/dotnet/AipsCore/Domain/Models/Shape/Sub/TextShape/TextShape.cs index 057d0d2..5b92592 100644 --- a/dotnet/AipsCore/Domain/Models/Shape/Sub/TextShape/TextShape.cs +++ b/dotnet/AipsCore/Domain/Models/Shape/Sub/TextShape/TextShape.cs @@ -2,6 +2,7 @@ using System.Drawing; using AipsCore.Domain.Models.Shape.Enums; using AipsCore.Domain.Models.Shape.Sub.TextShape.ValueObjects; using AipsCore.Domain.Models.Shape.ValueObjects; +using AipsCore.Domain.Models.Whiteboard.ValueObjects; namespace AipsCore.Domain.Models.Shape.Sub.TextShape; @@ -11,8 +12,8 @@ public class TextShape : Shape public TextShapeSize TextShapeSize { get; private set; } - public TextShape(ShapeId id, Position position, Color color, TextShapeValue textShapeValue, TextShapeSize textShapeSize) - : base(id, position, color) + public TextShape(ShapeId id, WhiteboardId whiteboardId, Position position, Color color, TextShapeValue textShapeValue, TextShapeSize textShapeSize) + : base(id, whiteboardId, position, color) { TextShapeValue = textShapeValue; TextShapeSize = textShapeSize; From 37e73627b599fa33791b1d2e81fcd71ef22d429f Mon Sep 17 00:00:00 2001 From: Andrija Stevanovic Date: Sun, 8 Feb 2026 21:52:56 +0100 Subject: [PATCH 3/4] color import fix --- dotnet/AipsCore/Domain/Models/Shape/Shape.cs | 2 +- dotnet/AipsCore/Domain/Models/Shape/Sub/Arrow/Arrow.cs | 2 +- dotnet/AipsCore/Domain/Models/Shape/Sub/Line/Line.cs | 2 +- dotnet/AipsCore/Domain/Models/Shape/Sub/Rectangle/Rectangle.cs | 2 +- dotnet/AipsCore/Domain/Models/Shape/Sub/TextShape/TextShape.cs | 2 +- 5 files changed, 5 insertions(+), 5 deletions(-) diff --git a/dotnet/AipsCore/Domain/Models/Shape/Shape.cs b/dotnet/AipsCore/Domain/Models/Shape/Shape.cs index 0503bf5..ad82098 100644 --- a/dotnet/AipsCore/Domain/Models/Shape/Shape.cs +++ b/dotnet/AipsCore/Domain/Models/Shape/Shape.cs @@ -1,4 +1,4 @@ -using System.Drawing; +using AipsCore.Domain.Common.ValueObjects; using AipsCore.Domain.Models.Shape.Enums; using AipsCore.Domain.Models.Shape.ValueObjects; using AipsCore.Domain.Models.Whiteboard.ValueObjects; diff --git a/dotnet/AipsCore/Domain/Models/Shape/Sub/Arrow/Arrow.cs b/dotnet/AipsCore/Domain/Models/Shape/Sub/Arrow/Arrow.cs index ab8593b..19d4f2a 100644 --- a/dotnet/AipsCore/Domain/Models/Shape/Sub/Arrow/Arrow.cs +++ b/dotnet/AipsCore/Domain/Models/Shape/Sub/Arrow/Arrow.cs @@ -1,4 +1,4 @@ -using System.Drawing; +using AipsCore.Domain.Common.ValueObjects; using AipsCore.Domain.Models.Shape.Enums; using AipsCore.Domain.Models.Shape.ValueObjects; using AipsCore.Domain.Models.Whiteboard.ValueObjects; diff --git a/dotnet/AipsCore/Domain/Models/Shape/Sub/Line/Line.cs b/dotnet/AipsCore/Domain/Models/Shape/Sub/Line/Line.cs index 5ce452c..7df8962 100644 --- a/dotnet/AipsCore/Domain/Models/Shape/Sub/Line/Line.cs +++ b/dotnet/AipsCore/Domain/Models/Shape/Sub/Line/Line.cs @@ -1,4 +1,4 @@ -using System.Drawing; +using AipsCore.Domain.Common.ValueObjects; using AipsCore.Domain.Models.Shape.Enums; using AipsCore.Domain.Models.Shape.ValueObjects; using AipsCore.Domain.Models.Whiteboard.ValueObjects; diff --git a/dotnet/AipsCore/Domain/Models/Shape/Sub/Rectangle/Rectangle.cs b/dotnet/AipsCore/Domain/Models/Shape/Sub/Rectangle/Rectangle.cs index fee0a10..bd47b7f 100644 --- a/dotnet/AipsCore/Domain/Models/Shape/Sub/Rectangle/Rectangle.cs +++ b/dotnet/AipsCore/Domain/Models/Shape/Sub/Rectangle/Rectangle.cs @@ -1,4 +1,4 @@ -using System.Drawing; +using AipsCore.Domain.Common.ValueObjects; using AipsCore.Domain.Models.Shape.Enums; using AipsCore.Domain.Models.Shape.ValueObjects; using AipsCore.Domain.Models.Whiteboard.ValueObjects; diff --git a/dotnet/AipsCore/Domain/Models/Shape/Sub/TextShape/TextShape.cs b/dotnet/AipsCore/Domain/Models/Shape/Sub/TextShape/TextShape.cs index 5b92592..d180e09 100644 --- a/dotnet/AipsCore/Domain/Models/Shape/Sub/TextShape/TextShape.cs +++ b/dotnet/AipsCore/Domain/Models/Shape/Sub/TextShape/TextShape.cs @@ -1,4 +1,4 @@ -using System.Drawing; +using AipsCore.Domain.Common.ValueObjects; using AipsCore.Domain.Models.Shape.Enums; using AipsCore.Domain.Models.Shape.Sub.TextShape.ValueObjects; using AipsCore.Domain.Models.Shape.ValueObjects; From ca0f43a276f034a1688a6c2484afb6fd0d45feff Mon Sep 17 00:00:00 2001 From: Andrija Stevanovic Date: Sun, 8 Feb 2026 21:58:31 +0100 Subject: [PATCH 4/4] enum sufix removed --- .../Models/Shape/Enums/{ShapeTypeEnum.cs => ShapeType.cs} | 2 +- dotnet/AipsCore/Domain/Models/Shape/Shape.cs | 2 +- dotnet/AipsCore/Domain/Models/Shape/Sub/Arrow/Arrow.cs | 2 +- dotnet/AipsCore/Domain/Models/Shape/Sub/Line/Line.cs | 2 +- dotnet/AipsCore/Domain/Models/Shape/Sub/Rectangle/Rectangle.cs | 2 +- dotnet/AipsCore/Domain/Models/Shape/Sub/TextShape/TextShape.cs | 2 +- 6 files changed, 6 insertions(+), 6 deletions(-) rename dotnet/AipsCore/Domain/Models/Shape/Enums/{ShapeTypeEnum.cs => ShapeType.cs} (78%) diff --git a/dotnet/AipsCore/Domain/Models/Shape/Enums/ShapeTypeEnum.cs b/dotnet/AipsCore/Domain/Models/Shape/Enums/ShapeType.cs similarity index 78% rename from dotnet/AipsCore/Domain/Models/Shape/Enums/ShapeTypeEnum.cs rename to dotnet/AipsCore/Domain/Models/Shape/Enums/ShapeType.cs index 52fe3ed..f90de77 100644 --- a/dotnet/AipsCore/Domain/Models/Shape/Enums/ShapeTypeEnum.cs +++ b/dotnet/AipsCore/Domain/Models/Shape/Enums/ShapeType.cs @@ -1,6 +1,6 @@ namespace AipsCore.Domain.Models.Shape.Enums; -public enum ShapeTypeEnum +public enum ShapeType { Rectangle, Line, diff --git a/dotnet/AipsCore/Domain/Models/Shape/Shape.cs b/dotnet/AipsCore/Domain/Models/Shape/Shape.cs index ad82098..1c1dcbe 100644 --- a/dotnet/AipsCore/Domain/Models/Shape/Shape.cs +++ b/dotnet/AipsCore/Domain/Models/Shape/Shape.cs @@ -11,7 +11,7 @@ public abstract class Shape public WhiteboardId WhiteboardId { get; private set; } - public abstract ShapeTypeEnum ShapeType { get; } + public abstract ShapeType ShapeType { get; } public Position Position { get; private set; } diff --git a/dotnet/AipsCore/Domain/Models/Shape/Sub/Arrow/Arrow.cs b/dotnet/AipsCore/Domain/Models/Shape/Sub/Arrow/Arrow.cs index 19d4f2a..cd956cf 100644 --- a/dotnet/AipsCore/Domain/Models/Shape/Sub/Arrow/Arrow.cs +++ b/dotnet/AipsCore/Domain/Models/Shape/Sub/Arrow/Arrow.cs @@ -16,5 +16,5 @@ public class Arrow : Shape Thickness = thickness; } - public override ShapeTypeEnum ShapeType => ShapeTypeEnum.Arrow; + public override ShapeType ShapeType => ShapeType.Arrow; } \ No newline at end of file diff --git a/dotnet/AipsCore/Domain/Models/Shape/Sub/Line/Line.cs b/dotnet/AipsCore/Domain/Models/Shape/Sub/Line/Line.cs index 7df8962..fc81c44 100644 --- a/dotnet/AipsCore/Domain/Models/Shape/Sub/Line/Line.cs +++ b/dotnet/AipsCore/Domain/Models/Shape/Sub/Line/Line.cs @@ -16,5 +16,5 @@ public class Line : Shape Thickness = thickness; } - public override ShapeTypeEnum ShapeType => ShapeTypeEnum.Line; + public override ShapeType ShapeType => ShapeType.Line; } \ No newline at end of file diff --git a/dotnet/AipsCore/Domain/Models/Shape/Sub/Rectangle/Rectangle.cs b/dotnet/AipsCore/Domain/Models/Shape/Sub/Rectangle/Rectangle.cs index bd47b7f..188125e 100644 --- a/dotnet/AipsCore/Domain/Models/Shape/Sub/Rectangle/Rectangle.cs +++ b/dotnet/AipsCore/Domain/Models/Shape/Sub/Rectangle/Rectangle.cs @@ -7,7 +7,7 @@ namespace AipsCore.Domain.Models.Shape.Sub.Rectangle; public class Rectangle : Shape { - public override ShapeTypeEnum ShapeType => ShapeTypeEnum.Rectangle; + public override ShapeType ShapeType => ShapeType.Rectangle; public Position EndPosition { get; } diff --git a/dotnet/AipsCore/Domain/Models/Shape/Sub/TextShape/TextShape.cs b/dotnet/AipsCore/Domain/Models/Shape/Sub/TextShape/TextShape.cs index d180e09..e6efb2a 100644 --- a/dotnet/AipsCore/Domain/Models/Shape/Sub/TextShape/TextShape.cs +++ b/dotnet/AipsCore/Domain/Models/Shape/Sub/TextShape/TextShape.cs @@ -19,5 +19,5 @@ public class TextShape : Shape TextShapeSize = textShapeSize; } - public override ShapeTypeEnum ShapeType => ShapeTypeEnum.Text; + public override ShapeType ShapeType => ShapeType.Text; } \ No newline at end of file