namespace Domain.Dtos.Stock
{
    /// <summary>
    /// Representa un producto que forma parte de un set quirúrgico predefinido.
    /// Este DTO se utiliza en la UI para sugerir qué productos incluir al seleccionar un set.
    /// </summary>
    public class ProductSetItemDto
    {
        /// <summary>
        /// ID del producto asociado al set.
        /// </summary>
        public int ProductId { get; set; }

        /// <summary>
        /// Nombre corto o técnico del producto (para mostrar en UI).
        /// </summary>
        public string ProductName { get; set; } = string.Empty;

        /// <summary>
        /// Cantidad sugerida a utilizar para este producto dentro del set.
        /// Se usa como valor por defecto al cargar el selector de stock.
        /// Puede incluir fracciones (ej: 0.5, 1.25), por eso es decimal.
        /// </summary>
        public decimal DefaultQuantity { get; set; }

        /// <summary>
        /// Indica si este producto es obligatorio dentro del set quirúrgico.
        /// Si es true, se espera que el usuario no lo omita al cargar los ítems.
        /// </summary>
        public bool Mandatory { get; set; }
    }
}
