Files
ERP_Distribution/Distribution/Models/StockMovement.cs
T

39 lines
1.3 KiB
C#

using System.ComponentModel.DataAnnotations.Schema;
namespace Distribution.Models
{
public class StockMovement
{
public Guid Id { get; set; } = Guid.NewGuid();
public Guid FK_ItemId { get; set; }
[ForeignKey("FK_ItemId")]
public Item Item { get; set; }
public Guid? FromLocationId { get; set; }
public LocationType? FromLocationType { get; set; }
public Guid? ToLocationId { get; set; }
public LocationType? ToLocationType { get; set; }
/// <summary>Null for items that don't track batches/expiry — no behavior change for existing items.</summary>
public Guid? FK_ItemBatchId { get; set; }
[ForeignKey("FK_ItemBatchId")]
public ItemBatch? ItemBatch { get; set; }
/// <summary>Null for items that don't track serial numbers. Quantity is always 1 when set.</summary>
public Guid? FK_ItemSerialNumberId { get; set; }
[ForeignKey("FK_ItemSerialNumberId")]
public ItemSerialNumber? ItemSerialNumber { get; set; }
public decimal Quantity { get; set; }
public MovementType Type { get; set; }
public string? ReasonCode { get; set; }
public Guid? ReferenceId { get; set; }
public DateTime CreatedAt { get; set; } = DateTime.Now;
public Guid CreatedBy { get; set; }
}
}