namespace CMSMicroservice.Application.CommissionCQ.Queries.GetWeeklyCommissionPool;
///
/// DTO برای استخر کمیسیون هفتگی
///
public class WeeklyCommissionPoolDto
{
public long Id { get; set; }
public long WeekDefinitionId { get; set; }
public string WeekDisplayName { get; set; } = string.Empty;
public long TotalPoolAmount { get; set; }
public long TotalBalances { get; set; }
public decimal ValuePerBalance { get; set; }
public bool IsCalculated { get; set; }
public DateTime? CalculatedAt { get; set; }
public DateTimeOffset Created { get; set; }
public long PackageId { get; set; }
public string PackageTitle { get; set; } = string.Empty;
// ── Validation Fields (Q29) ──
/// آیا TotalPoolAmount با تعداد فعالسازیهای ثبتشده در دیتابیس مطابقت دارد؟
public bool ValidationIsValid { get; set; } = true;
/// مبلغ مورد انتظار بر اساس شمارش فعالسازیها × ActivationFee
public long ValidationExpectedAmount { get; set; }
/// اختلاف: TotalPoolAmount - ValidationExpectedAmount
public long ValidationDiscrepancy { get; set; }
/// تعداد فعالسازیهای شناساییشده برای این هفته و پکیج
public int ValidationActivationCount { get; set; }
}