You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

41 lines
1.2 KiB

2 years ago
using Connected.Data;
namespace Connected.Logistics.Stock;
2 years ago
/// <summary>
/// Represents a single stock item.
/// </summary>
/// <remarks>
/// Goods are typically stored in the warehouse. Warehouse is
/// organized into locations or storage bins and each location contains
/// zero or more goods.
/// </remarks>
public interface IStockItem : IPrimaryKey<long>
{
/// <summary>
/// The <see cref="IStock"/> to which the item belong.
/// </summary>
/// <remarks>
/// Stock contains information about the type of the entity whereas
/// the stock item contains information about actual storage.
/// </remarks>
long Stock { get; init; }
/// <summary>
/// The location where the goods are stored.
/// </summary>
int Location { get; init; }
/// <summary>
/// The serial number of the goods.
/// </summary>
/// <remarks>
/// Each item has a serial number which uniquely identifies
/// the items even from the same type but from
/// different documents.
/// </remarks>
long Serial { get; init; }
/// <summary>
/// The quantity left in this location. Once the quantity reaches zero
/// the item gets deleted from the location.
/// </summary>
float Quantity { get; init; }
}