This commit is contained in:
lumijiez
2025-06-26 00:28:11 +03:00
parent 266aa529fa
commit 62341c7f87
5 changed files with 15 additions and 11 deletions

View File

@@ -42,8 +42,6 @@ public class CreateAddressHandler(
var address = mapper.Map<Address>(request);
address.UserId = userService.GetCurrentUserId()!;
address.CreatedAt = DateTime.UtcNow;
address.ModifiedAt = DateTime.UtcNow;
if (address.IsDefault)
{

View File

@@ -9,10 +9,9 @@ namespace Imprink.Application.Commands.Orders;
public class CreateOrderCommand : IRequest<OrderDto>
{
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);

View File

@@ -8,7 +8,7 @@ namespace Imprink.Application.Commands.Orders;
public class GetOrderByIdQuery : IRequest<OrderDto?>
{
public Guid Id { get; set; }
public bool IncludeDetails { get; set; } = false;
public bool IncludeDetails { get; set; }
}
public class GetOrderByIdHandler(IUnitOfWork uw, IMapper mapper) : IRequestHandler<GetOrderByIdQuery, OrderDto?>

View File

@@ -8,7 +8,7 @@ namespace Imprink.Application.Commands.Orders;
public class GetOrdersByMerchantIdQuery : IRequest<IEnumerable<OrderDto>>
{
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<GetOrdersByMerchantIdQuery, IEnumerable<OrderDto>>

View File

@@ -8,7 +8,7 @@ namespace Imprink.Application.Commands.Orders;
public class GetOrdersByUserIdQuery : IRequest<IEnumerable<OrderDto>>
{
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<GetOrdersByUserIdQuery, IEnumerable<OrderDto>>