using CMSMicroservice.Application.Common.Models;

namespace CMSMicroservice.Application.ProductsCQ.Queries.GetCustomerProductsByFilter;

public class GetCustomerProductsByFilterResponseDto
{
    public MetaData MetaData { get; set; }
    public List<CustomerProductModel> Models { get; set; }
}

public class CustomerProductModel
{
    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 bool IsActive { get; set; }
    public List<ProductCategoryPathModel> Categories { get; set; }
}

public class ProductCategoryPathModel
{
    public long CategoryId { get; set; }
    public string Title { get; set; }
    public List<CategoryNodeItemModel> Path { get; set; }
}

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