namespace CMSMicroservice.Application.CommissionCQ.Queries.GetUserCommissionPayouts;

public class GetUserCommissionPayoutsResponseDto
{
    public MetaData MetaData { get; set; }
    public List<GetUserCommissionPayoutsResponseModel> Models { get; set; }
}

public class GetUserCommissionPayoutsResponseModel
{
    public long Id { get; set; }
    public long UserId { get; set; }
    public string FirstName { get; set; } = string.Empty;
    public string LastName { get; set; } = string.Empty;
    public long WeekDefinitionId { get; set; }
    public string WeekDisplayName { get; set; } = string.Empty;
    public long WeeklyPoolId { get; set; }
    public long BalancesEarned { get; set; }
    public decimal ValuePerBalance { get; set; }
    public long TotalAmount { get; set; }
    public CommissionPayoutStatus Status { get; set; }
    public DateTime? PaidAt { get; set; }
    public WithdrawalMethod? WithdrawalMethod { get; set; }
    public string? IbanNumber { get; set; }
    public DateTime? WithdrawnAt { get; set; }
    public DateTimeOffset Created { get; set; }
    
    // Package info
    public long PackageId { get; set; }
    public string PackageTitle { get; set; } = string.Empty;
}
