Dev #15
@@ -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)
|
||||
{
|
||||
|
||||
@@ -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);
|
||||
|
||||
|
||||
@@ -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?>
|
||||
|
||||
@@ -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>>
|
||||
|
||||
@@ -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>>
|
||||
|
||||
Reference in New Issue
Block a user