namespace LiteCharms.Features.ShoppingCarts.Commands; public class CreateShoppingCartCommand : IRequest> { public Guid? CustomerId { get; set; } public Guid? OrderId { get; set; } public Guid? QuoteId { get; set; } private CreateShoppingCartCommand(Guid customerId, Guid? orderId = null, Guid? quoteId = null) { CustomerId = customerId; OrderId = orderId; QuoteId = quoteId; } public static CreateShoppingCartCommand Create(Guid customerId, Guid? orderId = null, Guid? quoteId = null) { if (customerId == Guid.Empty) throw new ArgumentException($"Customer ID is required", nameof(customerId)); return new(customerId, orderId, quoteId); } }