using MediatR;

namespace CMSMicroservice.Application.DiscountShopCQ.Queries.GetUserCart;

public class GetUserCartQuery : IRequest<UserCartDto>
{
    public long UserId { get; set; }
}

public class UserCartDto
{
    public List<CartItemDto> Items { get; set; } = new();
    public long TotalAmount { get; set; }
    public long MaxDiscountAmount { get; set; }
    public long MinPayableAmount { get; set; }
}

public class CartItemDto
{
    public long CartItemId { get; set; }
    public long ProductId { get; set; }
    public string ProductTitle { get; set; }
    public string ProductImagePath { get; set; }
    public long UnitPrice { get; set; }
    public int Count { get; set; }
    public long SubTotal { get; set; }
    public int MaxDiscountPercent { get; set; }
    public long MaxDiscountAmount { get; set; }
    public long MinPayable { get; set; }
    public int RemainingStock { get; set; }
    public bool IsActive { get; set; }
}
