Files
lux/EgwCoreLib.Lux.Data/DbModel/OrderRowModel.cs
T
2025-07-22 19:14:01 +02:00

112 lines
3.0 KiB
C#

using Microsoft.EntityFrameworkCore;
using System;
using System.Collections.Generic;
using System.ComponentModel.DataAnnotations;
using System.ComponentModel.DataAnnotations.Schema;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
namespace EgwCoreLib.Lux.Data.DbModel
{
// <Auto-Generated>
// This is here so CodeMaid doesn't reorganize this document
// </Auto-Generated>
[Table("OrderRowList")]
public class OrderRowModel
{
/// <summary>
/// ID del record
/// </summary>
[Key]
public int OrderRowID { get; set; }
/// <summary>
/// Riferimento Ordine
/// </summary>
public int OrderID { get; set; }
/// <summary>
/// Riga Ordine
/// </summary>
public int RowNum { get; set; } = 0;
/// <summary>
/// Codice calcolato Ordine ANNO.NUMERO.REV
/// </summary>
[NotMapped]
public string OrderRowCode
{
get => $"{OrderRowID:0000}.{RowNum:000}";
}
/// <summary>
/// ID dell'articolo di vendita Orderto
/// </summary>
public int SellingItemID { get; set; }
/// <summary>
/// Costo (standard / senza listini)
/// </summary>
public double Cost { get; set; } = 0;
/// <summary>
/// Margine percentuale standard
/// </summary>
public double Qty { get; set; } = 1;
[NotMapped]
public double TotalCost
{
get => Qty * Cost;
}
/// <summary>
/// Valore serializzato della composizione articolo (in formato JWD x finestra)
/// </summary>
public string SerStruct { get; set; } = "";
/// <summary>
/// Json contenente la serializzazione delle fasi previste per la stima dei tempi e costi in formato SerializedPhasePreview; potrebbe contenere anche altre info accessorie x definire dati logistico/gestionali
/// </summary>
public string ItemSPP { get; set; } = "";
/// <summary>
/// Note libere
/// </summary>
public string Note { get; set; } = "";
#if false
/// <summary>
/// Stack degli ultimi item serializzati per Uno/Redo actions
/// </summary>
[NotMapped]
public List<string> UndoRedoSerStruct { get; set; } = new List<string>();
#endif
/// <summary>
/// DataOra inserimento
/// </summary>
public DateTime Inserted { get; set; } = DateTime.Now;
/// <summary>
/// DataOra ultima modifica
/// </summary>
public DateTime Modified { get; set; } = DateTime.Now;
/// <summary>
/// Navigazione Order
/// </summary>
[ForeignKey("OrderID")]
public virtual OrderModel OrderNav { get; set; } = null!;
/// <summary>
/// Navigazione Item
/// </summary>
[ForeignKey("SellingItemID")]
public virtual SellingItemModel SellingItemNav { get; set; } = null!;
}
}