namespace Books.Api.EventFlow.ReadModels;

/// <summary>
/// DTO for reading product 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 ProductReadModelDto
{
    public string Id { get; set; } = string.Empty;
    public string CompanyId { get; set; } = string.Empty;
    public string? ProductNumber { get; set; }
    public string Name { get; set; } = string.Empty;
    public string? Description { get; set; }
    public decimal UnitPrice { get; set; }
    public string VatCode { get; set; } = "U25";
    public string? Unit { get; set; }
    public string? DefaultAccountId { get; set; }
    public string? Ean { get; set; }
    public string? Manufacturer { get; set; }
    public bool IsActive { get; set; }
    public DateTime CreatedAt { get; set; }
    public DateTime UpdatedAt { get; set; }
}
