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>