namespace CashLineERP.Contracts.IslamicFinance;

public sealed class IslamicFinanceSettlementResponse
{
    public long Id { get; set; }
    public string SettlementNumber { get; set; } = string.Empty;
    public long MurabahaCaseId { get; set; }
    public long FinancingRequestId { get; set; }
    public long PartnerLenderId { get; set; }
    public string FundingSourceMode { get; set; } = string.Empty;
    public DateOnly SettlementDate { get; set; }
    public string SettlementCurrencyCode { get; set; } = string.Empty;
    public decimal TotalSettledAmount { get; set; }
    public string StatusCode { get; set; } = string.Empty;
    public long? WorkflowInstanceId { get; set; }
    public DateTime CreatedAtUtc { get; set; }
    public long? CreatedByUserId { get; set; }
    public DateTime? SubmittedAtUtc { get; set; }
    public long? SubmittedByUserId { get; set; }
    public DateTime? ApprovedAtUtc { get; set; }
    public long? ApprovedByUserId { get; set; }
    public DateTime? ClosedAtUtc { get; set; }
    public long? ClosedByUserId { get; set; }
    public DateTime? UpdatedAtUtc { get; set; }
    public long? UpdatedByUserId { get; set; }
    public IReadOnlyCollection<IslamicFinanceSettlementLineResponse> Lines { get; set; } = [];
}
