Implemented shopping carts functionality elements

This commit is contained in:
Khwezi Mngoma
2026-05-06 10:48:02 +02:00
parent 83f51c6a23
commit 4321b03735
13 changed files with 341 additions and 5 deletions
@@ -0,0 +1,30 @@
namespace LiteCharms.Features.ShoppingCarts.Commands;
public class AddItemToShoppingCartCommand : IRequest<Result>
{
public Guid ShoppingCartId { get; set; }
public Guid ProductPriceId { get; set; }
public int Quantity { get; set; }
private AddItemToShoppingCartCommand(Guid shoppingCartId, Guid productPriceId, int quantity = 1)
{
ShoppingCartId = shoppingCartId;
ProductPriceId = productPriceId;
Quantity = quantity;
}
public static AddItemToShoppingCartCommand Create(Guid shoppingCartId, Guid productPriceId, int quantity = 1)
{
if (shoppingCartId == Guid.Empty)
throw new ArgumentException($"Shopping cart ID is required", nameof(shoppingCartId));
if (productPriceId == Guid.Empty)
throw new ArgumentException($"Product item required", nameof(productPriceId));
if(quantity <= 0) throw new ArgumentException($"Quantity must be at least 1", nameof(quantity));
return new(shoppingCartId, productPriceId, quantity);
}
}