namespace CMSMicroservice.Application.CommissionCQ.Commands.CalculateWeeklyCommissionPool;

/// <summary>
/// Command برای محاسبه استخر کمیسیون هفتگی
/// </summary>
public record CalculateWeeklyCommissionPoolCommand : IRequest<long>
{
    /// <summary>
    /// شماره هفته (فرمت: YYYY-Www)
    /// </summary>
    public long WeekDefinitionId { get; init; } 

    /// <summary>
    /// شناسه پکیج — اگر مقدار داشته باشد فقط همین پکیج محاسبه می‌شود.
    /// </summary>
    public long? PackageId { get; init; }

    /// <summary>
    /// آیا محاسبه مجدد انجام شود؟
    /// </summary>
    public bool ForceRecalculate { get; init; } 
}
