namespace CMSMicroservice.Application.NetworkMembershipCQ.Queries.GetNetworkTree;
///
/// DTO برای نتیجه Flat از Stored Procedure
/// هر ردیف یک نود از درخت است
///
public class NetworkTreeNodeDto
{
public long UserId { get; set; }
public string? Mobile { get; set; }
public string? FirstName { get; set; }
public string? LastName { get; set; }
public string? ReferralCode { get; set; }
public int? LegPosition { get; set; }
public long? ParentId { get; set; }
public int NetworkLevel { get; set; }
public DateTime? ClubActivatedAt { get; set; }
public bool IsClubActive { get; set; }
public long? ActivationWeekDefinitionId { get; set; }
public string? ActivationWeekDisplayName { get; set; }
public bool IsActivatedInTargetWeek { get; set; }
public DateTimeOffset UserCreated { get; set; }
///
/// آیا فعالسازی در هفته هدف اولین بار بوده (true) یا خرید مجدد (false)؟
/// null یعنی Cycleای ندارد
///
public bool? IsNewActivation { get; set; }
///
/// نام پکیج موثر (هفته هدف یا پکیج فعلی)
///
public string? PackageName { get; set; }
public long? PackageId { get; set; }
///
/// نام کامل کاربر
///
public string FullName => $"{FirstName} {LastName}".Trim();
}