Files
lux/EgwCoreLib.Lux.Data/DbModel/Sales/OrderModel.cs
T
samuele 1e3f6f9021 Modifiche DB
- inserimento date promesse/stimate x consegna e stati ordine
- modiifica insert items multipli (deduplica)
2025-10-21 09:53:50 +02:00

133 lines
3.6 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;
using static EgwCoreLib.Lux.Core.Enums;
namespace EgwCoreLib.Lux.Data.DbModel.Sales
{
// <Auto-Generated>
// This is here so CodeMaid doesn't reorganize this document
// </Auto-Generated>
/// <summary>
/// Classe degli ordini commerciali
/// </summary>
[Table("sales_order")]
public class OrderModel
{
/// <summary>
/// ID del record
/// </summary>
[Key]
public int OrderID { get; set; }
/// <summary>
/// Offerta correlata
/// </summary>
public int OfferID { get; set; }
/// <summary>
/// Anno rif Ordine
/// </summary>
public int RefYear { get; set; } = DateTime.Today.Year;
/// <summary>
/// Numero prog Ordine nell'anno (da calcolare)
/// </summary>
public int RefNum { get; set; } = 0;
/// <summary>
/// Indice revisione
/// </summary>
public int RefRev { get; set; } = 1;
/// <summary>
/// Codice calcolato Ordine ANNO.NUMERO.REV
/// </summary>
[NotMapped]
public string OrderCode
{
get => $"{RefYear:00}.{RefNum:00000}.{RefRev:00}";
}
/// <summary>
/// Descrizione generale
/// </summary>
public string Description { get; set; } = "";
/// <summary>
/// ID Cliente
/// </summary>
public int CustomerID { get; set; }
/// <summary>
/// ID Dealer
/// </summary>
public int DealerID { get; set; }
/// <summary>
/// Dizionario serializzato delle preselezioni (opzionale)
/// </summary>
public string DictPresel { get; set; } = "";
/// <summary>
/// Validità Ordine
/// </summary>
public DateTime ValidUntil { get; set; } = DateTime.Now.AddMonths(1);
/// <summary>
/// DataOra inserimento
/// </summary>
public DateTime Inserted { get; set; } = DateTime.Now;
/// <summary>
/// DataOra ultima modifica
/// </summary>
public DateTime Modified { get; set; } = DateTime.Now;
/// <summary>
/// DataOra richiesta per il completamento dell'ordine
/// </summary>
public DateTime DueDateReq { get; set; } = DateTime.Today.AddDays(30);
/// <summary>
/// DataOra promessa per il completamento dell'ordine
/// </summary>
public DateTime DueDateProm { get; set; } = DateTime.Today.AddDays(60);
/// <summary>
/// note di consegna (opzionali)
/// </summary>
public string ConsNote { get; set; } = "";
/// <summary>
/// Enum stato Ordine
/// </summary>
public OrderStates OrderState { get; set; } = OrderStates.Created;
/// <summary>
/// Navigazione Customer
/// </summary>
[ForeignKey("CustomerID")]
public virtual CustomerModel CustomerNav { get; set; } = null!;
/// <summary>
/// Navigazione Dealer
/// </summary>
[ForeignKey("DealerID")]
public virtual DealerModel DealerNav { get; set; } = null!;
/// <summary>
/// Navigazione Ordine
/// </summary>
[ForeignKey("OfferID")]
public virtual OfferModel OfferNav { get; set; } = null!;
}
}