using MediatR;

namespace CMSMicroservice.Application.DiscountShopCQ.Queries.GetDiscountCategories;

public class GetDiscountCategoriesQuery : IRequest<GetDiscountCategoriesResponseDto>
{
    public long? ParentCategoryId { get; set; }
    public bool? IsActive { get; set; }
}

public class GetDiscountCategoriesResponseDto
{
    public List<DiscountCategoryDto> Categories { get; set; }
}

public class DiscountCategoryDto
{
    public long Id { get; set; }
    public string Name { get; set; }
    public string Title { get; set; }
    public string? Description { get; set; }
    public string? ImagePath { get; set; }
    public long? ParentCategoryId { get; set; }
    public int SortOrder { get; set; }
    public bool IsActive { get; set; }
    public int ProductCount { get; set; }
    public List<DiscountCategoryDto>? Children { get; set; }
}
