31 lines
1.1 KiB
C#
31 lines
1.1 KiB
C#
namespace LiteCharms.Features.ShoppingCarts.Commands;
|
|
|
|
public class UpdateShoppingCartItemCommand : IRequest<Result>
|
|
{
|
|
public Guid ShoppingCartId { get; set; }
|
|
|
|
public Guid ShoppingCartItemId { get; set; }
|
|
|
|
public int Quantity { get; set; }
|
|
|
|
private UpdateShoppingCartItemCommand(Guid shoppingCartId, Guid shoppingCartItemId, int quantity = 1)
|
|
{
|
|
ShoppingCartId = shoppingCartId;
|
|
ShoppingCartItemId = shoppingCartItemId;
|
|
Quantity = quantity;
|
|
}
|
|
|
|
public static UpdateShoppingCartItemCommand Create(Guid shoppingCartId, Guid shoppingCartItemId, int quantity = 1)
|
|
{
|
|
if (shoppingCartId == Guid.Empty)
|
|
throw new ArgumentException($"Shopping cart ID is required", nameof(shoppingCartId));
|
|
|
|
if (shoppingCartItemId == Guid.Empty)
|
|
throw new ArgumentException($"Shopping cart item is required", nameof(shoppingCartItemId));
|
|
|
|
if (quantity <= 0) throw new ArgumentException($"Quantity must be at least 1", nameof(quantity));
|
|
|
|
return new(shoppingCartId, shoppingCartItemId, quantity);
|
|
}
|
|
}
|