namespace CashLineERP.Application.Finance;

public sealed record PaymentSettlementBatchDetailView(
    long PaymentSettlementBatchId,
    string BatchNumber,
    long PaymentChannelConfigurationId,
    string ChannelCode,
    string ChannelName,
    DateOnly SettlementDate,
    string CurrencyCode,
    string BaseCurrencyCode,
    decimal FxRateToBase,
    string? ExternalBatchReference,
    string StatusCode,
    int TotalTransactionCount,
    decimal TotalInternalAmount,
    decimal TotalSettledAmount,
    decimal TotalFeeAmount,
    decimal TotalNetAmount,
    decimal TotalInternalBaseAmount,
    decimal TotalSettledBaseAmount,
    decimal TotalFeeBaseAmount,
    decimal TotalNetBaseAmount,
    int OpenExceptionCount,
    int ResolvedExceptionCount,
    DateTime? SubmittedAtUtc,
    long? SubmittedByUserId,
    DateTime? ApprovedAtUtc,
    long? ApprovedByUserId,
    DateTime? PostedAtUtc,
    long? PostedByUserId,
    IReadOnlyCollection<PaymentSettlementBatchLineView> Lines);
