using GozareshgirProgramManager.Domain.ProjectAgg.Enums;
namespace GozareshgirProgramManager.Application.Modules.Projects.Queries.GetProjectHierarchySearch;
///
/// DTO برای نتایج جستجوی سراسری در سلسلهمراتب پروژه.
/// حاوی اطلاعات کافی برای بازسازی مسیر سلسلهمراتب و بسط درخت در رابط کاربری است.
///
public record ProjectHierarchySearchResultDto
{
///
/// شناسه آیتم (پروژه، فاز یا تسک)
///
public Guid Id { get; init; }
///
/// نام/عنوان آیتم
///
public string Title { get; init; } = string.Empty;
///
/// سطح سلسلهمراتب این آیتم
///
public ProjectHierarchyLevel Level { get; init; }
///
/// شناسه پروژه - همیشه برای فاز و تسک پر شده است، برای پروژه با شناسه خود پر میشود
///
public Guid? ProjectId { get; init; }
///
/// شناسه فاز - فقط برای تسک پر شده است، برای پروژه و فاز خالی است
///
public Guid? PhaseId { get; init; }
}