namespace CMSMicroservice.Application.CommissionCQ.Commands.TriggerWeeklyCalculation;

public record TriggerWeeklyCalculationCommand : IRequest<TriggerWeeklyCalculationResponseDto>
{
    /// <summary>
    /// شماره هفته (فرمت: "YYYY-Www")
    /// </summary>
    public string WeekNumber { get; init; } = string.Empty;

    /// <summary>
    /// اگر true باشد، محاسبات قبلی را حذف و دوباره محاسبه می‌کند
    /// </summary>
    public bool ForceRecalculate { get; init; }

    /// <summary>
    /// Skip balance calculation
    /// </summary>
    public bool SkipBalances { get; init; }

    /// <summary>
    /// Skip pool calculation
    /// </summary>
    public bool SkipPool { get; init; }

    /// <summary>
    /// Skip payout processing
    /// </summary>
    public bool SkipPayouts { get; init; }
}
