namespace Books.Api.EventFlow.ReadModels;

/// <summary>
/// DTO for reading account 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 AccountReadModelDto
{
    public string Id { get; set; } = string.Empty;
    public string CompanyId { get; set; } = string.Empty;
    public string AccountNumber { get; set; } = string.Empty;
    public string Name { get; set; } = string.Empty;
    public string AccountType { get; set; } = string.Empty;
    public string? ParentId { get; set; }
    public string? Description { get; set; }
    public string? VatCodeId { get; set; }
    public bool IsActive { get; set; }
    public bool IsSystemAccount { get; set; }
    /// <summary>
    /// Erhvervsstyrelsens standardkontonummer for SAF-T rapportering.
    /// </summary>
    public string? StandardAccountNumber { get; set; }
    public DateTime CreatedAt { get; set; }
    public DateTime UpdatedAt { get; set; }
}
