Some checks failed
CI/CD Pipeline / Build and Deploy with Docker Compose (push) Has been cancelled
58 lines
2.0 KiB
C#
58 lines
2.0 KiB
C#
namespace Domain.Entities
|
|
{
|
|
/// Estado de la reserva (establecido en decisiones 2025-10-12)
|
|
public enum StockReservationStatus
|
|
{
|
|
Reserved = 1, // Activa: descuenta disponibilidad
|
|
Consumed = 2, // Consumida al cerrar expedición
|
|
Released = 3 // Liberada por cancelación / devolución
|
|
}
|
|
public class ELSStockReservation
|
|
{
|
|
/// <summary>
|
|
/// Identificador autoincremental de la reserva.
|
|
/// </summary>
|
|
public int Id { get; set; }
|
|
|
|
/// <summary>
|
|
/// Tipo de origen de la reserva. 1=Expedition (extensible a futuros orígenes).
|
|
/// </summary>
|
|
public byte SourceType { get; set; }
|
|
|
|
/// <summary>
|
|
/// Identificador del origen. Ej.: expedition_id cuando source_type=1.
|
|
/// </summary>
|
|
public int SourceId { get; set; }
|
|
|
|
/// <summary>
|
|
/// Referencia al StockItem exacto bloqueado (FK a PhLSM_StockItem). Define producto/ubicación/trazabilidad por JOIN.
|
|
/// </summary>
|
|
public int StockitemId { get; set; }
|
|
|
|
/// <summary>
|
|
/// Cantidad reservada (bloqueada). No disponible mientras status=1 (Reserved).
|
|
/// </summary>
|
|
public decimal ReservedQuantity { get; set; }
|
|
|
|
/// <summary>
|
|
/// Estado de la reserva: 1=Reserved, 2=Released, 3=Consumed.
|
|
/// </summary>
|
|
public StockReservationStatus Status { get; set; } = StockReservationStatus.Reserved;
|
|
|
|
/// <summary>
|
|
/// Fecha/hora de creación (UTC).
|
|
/// </summary>
|
|
public DateTime Createdat { get; set; }
|
|
|
|
/// <summary>
|
|
/// Última modificación (UTC). Puede ser NULL si nunca se actualizó.
|
|
/// </summary>
|
|
public DateTime? Modifiedat { get; set; }
|
|
|
|
/// <summary>
|
|
/// Token de concurrencia optimista (ROWVERSION) para actualizaciones seguras.
|
|
/// </summary>
|
|
public byte[] Rowversion { get; set; } = Array.Empty<byte>();
|
|
}
|
|
}
|