namespace EgwCoreLib.Lux.Data.DbModel.Supplier
{
//
// This is here so CodeMaid doesn't reorganize this document
//
[Table("buy_order_row")]
public class BuyOrderRowModel
{
///
/// ID del record
///
[Key]
public int BuyOrderRowID { get; set; }
///
/// ID Ordine di acquisto di riferimento
///
public int BuyOrderID { get; set; }
///
/// Riga Ordine (per ordinamento)
///
public int RowNum { get; set; } = 0;
///
/// ID dell'item richiesto (se disponibile)
///
public int? ItemID { get; set; } = null;
///
/// Classificazione Item
///
public string ClassCode { get; set; } = "";
///
/// Descrizione Item
///
public string DescriptionCode { get; set; } = "";
///
/// Codice Item
///
public string ItemCode { get; set; } = "";
///
/// Quantità articolo TOTALE
///
public double TotQty
{
get => MatReqNav.Sum(x => x.Qty);
}
#if false
///
/// Quantità articolo TOTALE
///
public double TotQty
{
get => DictOrderRowDetail.Sum(x => x.Value);
}
///
/// Dizionario serializzato di RigheOrdine + Qty
///
public string OrderRowData { get; set; } = "";
///
/// Dizionario escplicito degli OrderRow esplosi rispetto a ItemId delle BOM
///
[NotMapped]
public Dictionary DictOrderRowDetail
{
get
{
Dictionary answ = new();
if (!string.IsNullOrEmpty(OrderRowData) && OrderRowData.Count() > 2)
{
answ = JsonConvert.DeserializeObject>(OrderRowData) ?? new();
}
return answ;
}
set
{
OrderRowData = JsonConvert.SerializeObject(value);
}
}
#endif
///
/// Navigazione Ordine Acquisto
///
[ForeignKey("BuyOrderID")]
public virtual BuyOrderModel? BuyOrderNav { get; set; } = null;
///
/// Navigazione Item
///
[ForeignKey("ItemID")]
public virtual ItemModel? ItemNav { get; set; } = null;
///
/// Many-to-many verso associazione con MatReq
///
public virtual ICollection MatReqNav { get; set; } = new List();
}
}