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; } }