namespace CMSMicroservice.Application.ProductsCQ.Queries.GetCustomerProducts;

public class GetCustomerProductsResponseDto
{
    public long Id { get; set; }
    public string Title { get; set; }
    public string Description { get; set; }
    public string ShortInfomation { get; set; }
    public string FullInformation { get; set; }
    public long Price { get; set; }
    public int Discount { get; set; }
    public int Rate { get; set; }
    public string ImagePath { get; set; }
    public string ThumbnailPath { get; set; }
    public int SaleCount { get; set; }
    public int ViewCount { get; set; }
    public int RemainingCount { get; set; }
    public List<ProductGalleryModel> Gallery { get; set; }
    public List<ProductCategoryModel> Categories { get; set; }
}

public class ProductGalleryModel
{
    public long ProductGalleryId { get; set; }
    public long ProductImageId { get; set; }
    public string Title { get; set; }
    public string ImagePath { get; set; }
    public string ImageThumbnailPath { get; set; }
}

public class ProductCategoryModel
{
    public long CategoryId { get; set; }
    public string Title { get; set; }
    public List<CategoryNodeModel> Path { get; set; }
}

public class CategoryNodeModel
{
    public long Id { get; set; }
    public string Title { get; set; }
    public long? ParentId { get; set; }
}
