namespace Books.Api.EventFlow.ReadModels;

/// <summary>
/// DTO for reading customer data from the database.
/// Uses a class with properties because PostgreSQL returns column names
/// in lowercase, and Dapper matches properties case-insensitively.
/// </summary>
public class CustomerReadModelDto
{
    public string Id { get; set; } = string.Empty;
    public string CompanyId { get; set; } = string.Empty;
    public string CustomerNumber { get; set; } = string.Empty;
    public string CustomerType { get; set; } = string.Empty;
    public string Name { get; set; } = string.Empty;
    public string? Cvr { get; set; }
    public string? Address { get; set; }
    public string? PostalCode { get; set; }
    public string? City { get; set; }
    public string Country { get; set; } = "DK";
    public string? Email { get; set; }
    public string? Phone { get; set; }
    public int PaymentTermsDays { get; set; }
    public string? DefaultRevenueAccountId { get; set; }
    public string SubLedgerAccountId { get; set; } = string.Empty;
    public bool IsActive { get; set; }
    public DateTime CreatedAt { get; set; }
    public DateTime UpdatedAt { get; set; }
}
