namespace Domain.Entities
{
public class ELSStockOut
{
///
/// Identificador único del egreso de stock
///
public int Id { get; set; }
///
/// Producto retirado del stock
///
public int ProductId { get; set; }
///
/// Cantidad retirada del producto
///
public decimal Quantity { get; set; }
///
/// Precio unitario usado para valorizar el egreso
///
public decimal Unitprice { get; set; }
///
/// Moneda utilizada en la valorización (ARS, USD, EUR)
///
public string Currency { get; set; } = null!;
///
/// Tasa de conversión de la moneda a ARS
///
public decimal Exchangerate { get; set; }
///
/// Fecha del egreso de stock
///
public DateTime Outdate { get; set; }
///
/// Referencia visible del movimiento (NE, devolución, cirugía)
///
public string? Reference { get; set; }
///
/// Tipo de origen del egreso (surgery, expiration, manual, etc.)
///
public string? Sourcetype { get; set; }
///
/// ID de la entidad que generó el egreso (ej: nota de expedición)
///
public int? SourceId { get; set; }
///
/// Identificador del caso quirúrgico asociado al egreso
///
public Guid? TicketId { get; set; }
///
/// Ubicación física desde donde se retiró el producto
///
public int? LocationId { get; set; }
///
/// Lote del producto egresado (si aplica trazabilidad)
///
public string? Batch { get; set; }
///
/// Fecha de vencimiento del producto egresado (si aplica)
///
public DateOnly? Expiration { get; set; }
///
/// Fecha de creación del registro
///
public DateTime Createdat { get; set; }
//public virtual PhLsmProduct Product { get; set; } = null!;
}
}