using EgwCoreLib.Lux.Data.DbModel.Sales;
using System.ComponentModel.DataAnnotations;
using System.ComponentModel.DataAnnotations.Schema;
namespace EgwCoreLib.Lux.Data.DbModel.Production
{
//
// This is here so CodeMaid doesn't reorganize this document
//
[Table("production_item")]
public class ProductionItemModel
{
///
/// ID dell'articolo
///
[Key]
public int ProdItemID { get; set; }
///
/// Riga Ordine da cui scaturisce
///
public int OrderRowID { get; set; } = 0;
///
/// CodArticolo (opzionale) numerico
///
public int ItemCode { get; set; } = 0;
///
/// CodArticolo (opzionale) string
///
public string ExtItemCode { get; set; } = "";
#if false
///
/// Riferimento al record di ProductionAssign impiegato per effettuare le assegnazioni di produzione
///
public int? ProdAssignID { get; set; }
#endif
///
/// Riferimento al record di ProductionGrou impiegato per effettuare le assegnazioni di produzione
///
public int? ProdGroupID { get; set; }
///
/// Batch di produzione cui è correlato (può essere nullo inizialmente e poi variato)
///
public int? ProductionBatchID { get; set; }
///
/// Tempo produzione stimato
///
public double EstimTime { get; set; } = 0;
///
/// Etichetta dell'item
///
public string ProdLabel { get; set; } = "";
#if false
public string ProdLabel
{
get => $"PT{ProdItemID:X8}";
}
#endif
///
/// Navigazione OrderRow
///
[ForeignKey("OrderRowID")]
public virtual OrderRowModel OrderRowNav { get; set; } = null!;
#if false
///
/// Navigazione Batch Produzione
///
[ForeignKey("ProdAssignID")]
public virtual ProductionAssignModel? ProductionAssignNav { get; set; }
#endif
///
/// Navigazione ProdGroup
///
[ForeignKey("ProdGroupID")]
public virtual ProductionGroupModel? ProductionGroupNav { get; set; }
///
/// Navigazione Batch Produzione
///
[ForeignKey("ProductionBatchID")]
public virtual ProductionBatchModel? ProductionBatchNav { get; set; }
}
}