Files
magman/MagMan.Core/DTO/ProjectDTO.cs
T
2024-01-22 19:47:52 +01:00

100 lines
2.8 KiB
C#

using System;
using System.Collections.Generic;
using System.ComponentModel.DataAnnotations.Schema;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
using static MagMan.Core.Enums;
namespace MagMan.Core.DTO
{
public class ProjectDTO
{
/// <summary>
/// Id macchina (MagMan)
/// </summary>
public int MachineID { get; set; } = 0;
/// <summary>
/// Key di riferimento per il progetto
/// </summary>
public int KeyNum { get; set; } = 0;
/// <summary>
/// ID del DB EgtBW, univoco con KeyNum
/// </summary>
public int ProjExtDbId { get; set; } = 0;
/// <summary>
/// ID esterno (da EgtBW)
/// </summary>
public int ProjExtId { get; set; } = 0;
/// <summary>
/// Nome file BTL originale
/// </summary>
public string BTLFileName { get; set; } = "";
/// <summary>
/// Tipologia del progetto (Travi, Pareti, ...)
/// </summary>
public BWType PType { get; set; } = BWType.NULL;
/// <summary>
/// Macchina (Costruttore/Modello)
/// </summary>
public string Machine { get; set; } = "";
/// <summary>
/// Descrizione progetto (copiata da BTLFileName inizialmente)
/// </summary>
public string ProjDescription { get; set; } = "";
/// <summary>
/// Data Creazione progetto
/// </summary>
public DateTime DtCreated { get; set; } = DateTime.Now;
/// <summary>
/// Data di schedulazione (prevista)
/// </summary>
public DateTime DtSchedule { get; set; } = DateTime.Today.AddMonths(3);
/// <summary>
/// Data Inizio Produzione
/// </summary>
public DateTime DtStartProd { get; set; } = DateTime.MinValue;
/// <summary>
/// Data ora ultima operazione registrata
/// </summary>
public DateTime DtLastAction { get; set; } = DateTime.MinValue;
/// <summary>
/// ListName del BTL
/// </summary>
public string ListName { get; set; } = "";
/// <summary>
/// Tempo lavorazione previsto (stima) in minuti
/// </summary>
public double ProcTimeEst { get; set; } = 0;
/// <summary>
/// Tempo lavorazione reale in minuti (parziale o totale se chiuso/completato/archiviato)
/// </summary>
public double ProcTimeReal { get; set; } = 0;
/// <summary>
/// Record attivo (se false == cancellazione logica)
/// </summary>
public bool IsActive { get; set; } = true;
/// <summary>
/// Stato Archiviato = NON visualizzabile normalmente, già prodotto/chiuso
/// </summary>
public bool IsArchived { get; set; } = false;
}
}