// EN: Command to create a new order. // VI: Command tạo order mới. using MediatR; namespace OrderService.API.Application.Commands; /// /// EN: Command to create a new order with validation through strategies. /// VI: Command tạo order mới với validation qua strategies. /// public record CreateOrderCommand( Guid ShopId, Guid? CustomerId, List Items, decimal? DiscountAmount = null, string? DiscountType = null, string? DiscountReference = null, Guid? TableId = null ) : IRequest; /// /// EN: Order item request. /// VI: Yêu cầu order item. /// public record OrderItemRequest( Guid ProductId, string ProductName, string ProductType, int Quantity, decimal UnitPrice, bool TrackInventory = true ); /// /// EN: Result of create order command. /// VI: Kết quả command tạo order. /// public record CreateOrderResult( Guid OrderId, decimal TotalAmount, string Status );