From 3f8796430966b94124d0856747455a7d79fe9aa5 Mon Sep 17 00:00:00 2001 From: Andrija Stevanovic Date: Thu, 12 Feb 2026 09:49:15 +0100 Subject: [PATCH] create rect command fix --- .../CreateRectangleCommandHandler.cs | 34 ++++++++++++++++++- .../Shape/Mappers/ShapeMappers.ToEntity.cs | 1 + .../AipsWebApi/Controllers/ShapeController.cs | 24 +++++++++++++ 3 files changed, 58 insertions(+), 1 deletion(-) create mode 100644 dotnet/AipsWebApi/Controllers/ShapeController.cs diff --git a/dotnet/AipsCore/Application/Models/Shape/Command/CreateRectangle/CreateRectangleCommandHandler.cs b/dotnet/AipsCore/Application/Models/Shape/Command/CreateRectangle/CreateRectangleCommandHandler.cs index c03b948..d0352f8 100644 --- a/dotnet/AipsCore/Application/Models/Shape/Command/CreateRectangle/CreateRectangleCommandHandler.cs +++ b/dotnet/AipsCore/Application/Models/Shape/Command/CreateRectangle/CreateRectangleCommandHandler.cs @@ -1,24 +1,37 @@ using AipsCore.Application.Abstract.Command; using AipsCore.Domain.Abstract; +using AipsCore.Domain.Common.Validation; using AipsCore.Domain.Models.Shape.External; using AipsCore.Domain.Models.Shape.Sub.Rectangle; using AipsCore.Domain.Models.Shape.ValueObjects; +using AipsCore.Domain.Models.User.External; +using AipsCore.Domain.Models.User.Validation; +using AipsCore.Domain.Models.User.ValueObjects; +using AipsCore.Domain.Models.Whiteboard.External; +using AipsCore.Domain.Models.Whiteboard.Validation; +using AipsCore.Domain.Models.Whiteboard.ValueObjects; namespace AipsCore.Application.Models.Shape.Command.CreateRectangle; public class CreateRectangleCommandHandler : ICommandHandler { private readonly IShapeRepository _shapeRepository; + private readonly IWhiteboardRepository _whiteboardRepository; + private readonly IUserRepository _userRepository; private readonly IUnitOfWork _unitOfWork; - public CreateRectangleCommandHandler(IShapeRepository shapeRepository, IUnitOfWork unitOfWork) + public CreateRectangleCommandHandler(IShapeRepository shapeRepository, IWhiteboardRepository whiteboardRepository, IUserRepository userRepository, IUnitOfWork unitOfWork) { _shapeRepository = shapeRepository; + _whiteboardRepository = whiteboardRepository; + _userRepository = userRepository; _unitOfWork = unitOfWork; } public async Task Handle(CreateRectangleCommand command, CancellationToken cancellationToken = default) { + Validate(command); + var rectangle = Rectangle.Create( command.WhiteboardId, command.AuthorId, @@ -33,4 +46,23 @@ public class CreateRectangleCommandHandler : ICommandHandler> CreateRectangle(CreateRectangleCommand command, CancellationToken token) + { + var result = await _dispatcher.Execute(command, token); + return Ok(result); + } +} \ No newline at end of file