From 62341c7f87250fec23e5e142297d62a8525901d3 Mon Sep 17 00:00:00 2001 From: lumijiez <59575049+lumijiez@users.noreply.github.com> Date: Thu, 26 Jun 2025 00:28:11 +0300 Subject: [PATCH] Ugh --- .../Commands/Addresses/CreateAddressHandler.cs | 2 -- .../Commands/Orders/CreateOrderHandler.cs | 18 ++++++++++++------ .../Commands/Orders/GetOrderByIdHandler.cs | 2 +- .../Orders/GetOrdersByMerchantIdHandler.cs | 2 +- .../Orders/GetOrdersByUserIdHandler.cs | 2 +- 5 files changed, 15 insertions(+), 11 deletions(-) diff --git a/src/Imprink.Application/Commands/Addresses/CreateAddressHandler.cs b/src/Imprink.Application/Commands/Addresses/CreateAddressHandler.cs index 83de43c..330559e 100644 --- a/src/Imprink.Application/Commands/Addresses/CreateAddressHandler.cs +++ b/src/Imprink.Application/Commands/Addresses/CreateAddressHandler.cs @@ -42,8 +42,6 @@ public class CreateAddressHandler( var address = mapper.Map
(request); address.UserId = userService.GetCurrentUserId()!; - address.CreatedAt = DateTime.UtcNow; - address.ModifiedAt = DateTime.UtcNow; if (address.IsDefault) { diff --git a/src/Imprink.Application/Commands/Orders/CreateOrderHandler.cs b/src/Imprink.Application/Commands/Orders/CreateOrderHandler.cs index 55b09f6..25c41c4 100644 --- a/src/Imprink.Application/Commands/Orders/CreateOrderHandler.cs +++ b/src/Imprink.Application/Commands/Orders/CreateOrderHandler.cs @@ -9,10 +9,9 @@ namespace Imprink.Application.Commands.Orders; public class CreateOrderCommand : IRequest { - public decimal Amount { get; set; } public int Quantity { get; set; } public Guid ProductId { get; set; } - public Guid? ProductVariantId { get; set; } + public Guid ProductVariantId { get; set; } public string? Notes { get; set; } public string? MerchantId { get; set; } public string? ComposingImageUrl { get; set; } @@ -41,6 +40,13 @@ public class CreateOrderHandler(IUnitOfWork uw, IMapper mapper, ICurrentUserServ order.OrderStatusId = 0; order.ShippingStatusId = 0; + var variant = uw.ProductVariantRepository.GetByIdAsync(request.ProductVariantId, cancellationToken).Result; + if (variant == null) + throw new NotFoundException("Product variant not found"); + + order.Amount = variant.Price * request.Quantity; + + var createdOrder = await uw.OrderRepository.AddAsync(order, cancellationToken); var orderAddress = new OrderAddress @@ -68,10 +74,10 @@ public class CreateOrderHandler(IUnitOfWork uw, IMapper mapper, ICurrentUserServ createdOrder.Product = (await uw.ProductRepository.GetByIdAsync(createdOrder.ProductId, cancellationToken))!; - if (createdOrder.ProductVariantId.HasValue) - { - createdOrder.ProductVariant = await uw.ProductVariantRepository.GetByIdAsync(createdOrder.ProductVariantId.Value, cancellationToken); - } + if (!createdOrder.ProductVariantId.HasValue) + throw new NotFoundException("Product variant not found"); + + createdOrder.ProductVariant = await uw.ProductVariantRepository.GetByIdAsync(createdOrder.ProductVariantId.Value, cancellationToken); await uw.SaveAsync(cancellationToken); diff --git a/src/Imprink.Application/Commands/Orders/GetOrderByIdHandler.cs b/src/Imprink.Application/Commands/Orders/GetOrderByIdHandler.cs index be46ab9..8e4724f 100644 --- a/src/Imprink.Application/Commands/Orders/GetOrderByIdHandler.cs +++ b/src/Imprink.Application/Commands/Orders/GetOrderByIdHandler.cs @@ -8,7 +8,7 @@ namespace Imprink.Application.Commands.Orders; public class GetOrderByIdQuery : IRequest { public Guid Id { get; set; } - public bool IncludeDetails { get; set; } = false; + public bool IncludeDetails { get; set; } } public class GetOrderByIdHandler(IUnitOfWork uw, IMapper mapper) : IRequestHandler diff --git a/src/Imprink.Application/Commands/Orders/GetOrdersByMerchantIdHandler.cs b/src/Imprink.Application/Commands/Orders/GetOrdersByMerchantIdHandler.cs index b34ea92..bb62a68 100644 --- a/src/Imprink.Application/Commands/Orders/GetOrdersByMerchantIdHandler.cs +++ b/src/Imprink.Application/Commands/Orders/GetOrdersByMerchantIdHandler.cs @@ -8,7 +8,7 @@ namespace Imprink.Application.Commands.Orders; public class GetOrdersByMerchantIdQuery : IRequest> { public string MerchantId { get; set; } = null!; - public bool IncludeDetails { get; set; } = false; + public bool IncludeDetails { get; set; } } public class GetOrdersByMerchantIdHandler(IUnitOfWork uw, IMapper mapper) : IRequestHandler> diff --git a/src/Imprink.Application/Commands/Orders/GetOrdersByUserIdHandler.cs b/src/Imprink.Application/Commands/Orders/GetOrdersByUserIdHandler.cs index 6f778a3..a73a700 100644 --- a/src/Imprink.Application/Commands/Orders/GetOrdersByUserIdHandler.cs +++ b/src/Imprink.Application/Commands/Orders/GetOrdersByUserIdHandler.cs @@ -8,7 +8,7 @@ namespace Imprink.Application.Commands.Orders; public class GetOrdersByUserIdQuery : IRequest> { public string UserId { get; set; } = null!; - public bool IncludeDetails { get; set; } = false; + public bool IncludeDetails { get; set; } } public class GetOrdersByUserIdHandler(IUnitOfWork uw, IMapper mapper) : IRequestHandler>