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; using static EgwCoreLib.Lux.Core.Enums; namespace EgwCoreLib.Lux.Data.DbModel { // // This is here so CodeMaid doesn't reorganize this document // /// /// Classe degli ordini commerciali /// [Table("Order")] public class OrderModel { /// /// ID del record /// [Key] public int OrderID { get; set; } /// /// Offerta correlata /// public int OfferID { get; set; } /// /// Anno rif Ordine /// public int RefYear { get; set; } = DateTime.Today.Year; /// /// Numero prog Ordine nell'anno (da calcolare) /// public int RefNum { get; set; } = 0; /// /// Indice revisione /// public int RefRev { get; set; } = 1; /// /// Codice calcolato Ordine ANNO.NUMERO.REV /// [NotMapped] public string OrderCode { get => $"{RefYear:00}.{RefNum:00000}.{RefRev:00}"; } /// /// Descrizione generale /// public string Description { get; set; } = ""; /// /// ID Cliente /// public int CustomerID { get; set; } /// /// ID Dealer /// public int DealerID { get; set; } /// /// Validità Ordine /// public DateTime ValidUntil { get; set; } = DateTime.Now.AddMonths(1); /// /// DataOra inserimento /// public DateTime Inserted { get; set; } = DateTime.Now; /// /// DataOra ultima modifica /// public DateTime Modified { get; set; } = DateTime.Now; /// /// Enum stato Ordine /// public OfferStates OffertState { get; set; } = OfferStates.Open; /// /// Navigazione Customer /// [ForeignKey("CustomerID")] public virtual CustomerModel CustomerNav { get; set; } = null!; /// /// Navigazione Dealer /// [ForeignKey("DealerID")] public virtual DealerModel DealerNav { get; set; } = null!; /// /// Navigazione Ordine /// [ForeignKey("OfferID")] public virtual OfferModel OfferNav { get; set; } = null!; } }