Files
2022-06-19 12:21:09 +02:00

116 lines
3.5 KiB
C#

using System.ComponentModel.DataAnnotations;
using System.ComponentModel.DataAnnotations.Schema;
using static MP.MONO.Core.Enums;
// <Auto-Generated>
// This is here so CodeMaid doesn't reorganize this document
// </Auto-Generated>
namespace MP.MONO.Data.DbModels
{
/// <summary>
/// Tabella TASK configurati x manutenzione preventiva
/// </summary>
[Table("PrevMaintTask")]
public class PrevMaintTaskModel
{
/// <summary>
/// UID
/// </summary>
[Key, DatabaseGenerated(DatabaseGeneratedOption.Identity)]
public int PMTaskId { get; set; }
/// <summary>
/// Macchina cui è riferito il task
/// </summary>
public int MachineId { get; set; } = 1;
/// <summary>
/// Indice esterno evento
/// </summary>
public int ExtIdx { get; set; } = 0;
/// <summary>
/// Area di riferimento generale x manutenzione
/// </summary>
public string PMTCode { get; set; } = "";
/// <summary>
/// Gruppo logico di riferimento
/// </summary>
public string PMMGCode { get; set; } = "";
/// <summary>
/// Valore per trigger di expiry
/// </summary>
public double ExpiryVal { get; set; } = 1;
/// <summary>
/// Descrizione intervento
/// </summary>
public string JobDescription { get; set; } = "";
/// <summary>
/// Team / Ruolo responsabile
/// </summary>
public string PMUTCode { get; set; } = "";
/// <summary>
/// Contatore associato al task
/// </summary>
public string CCode { get; set; } = "";
/// <summary>
/// Indica che il task è protetto
/// true = impostato dal costruttore (originale)
/// </summary>
public bool Protected { get; set; } = true;
/// <summary>
/// Indica che il task è disabilitato (es se ha interventi registrati e richeista eliminazione)
/// </summary>
public bool IsDisabled { get; set; } = false;
/// <summary>
/// Variabile in cui viene salvato il numero di Task effettuati associati (aggiornata ad ogni chiusura SchedTask)
/// </summary>
public int NumTaskDone { get; set; } = 0;
[NotMapped]
public bool IsValid
{
get => MachineId > 0 && ExpiryVal >= 1 && ExtIdx >= 0 && !string.IsNullOrEmpty(CCode) && !string.IsNullOrEmpty(PMTCode) && !string.IsNullOrEmpty(PMMGCode) && !string.IsNullOrEmpty(JobDescription) && !string.IsNullOrEmpty(PMUTCode);
}
/// <summary>
/// Navigazione oggetto Machine
/// </summary>
[ForeignKey("MachineId")]
public virtual MachineModel MachineNav { get; set; } = null!;
/// <summary>
/// Navigazione oggetto Counter
/// </summary>
[ForeignKey("CCode")]
public virtual CounterModel CounterNav { get; set; } = null!;
/// <summary>
/// Navigazione oggetto User Team
/// </summary>
[ForeignKey("PMUTCode")]
public virtual PMUTModel UserTeamNav { get; set; } = null!;
/// <summary>
/// Navigazione oggetto User Team
/// </summary>
[ForeignKey("PMMGCode")]
public virtual PMMGroupModel MachGroupNav { get; set; } = null!;
/// <summary>
/// Navigazione oggetto User Team
/// </summary>
[ForeignKey("PMTCode")]
public virtual PMTaskTopicModel TopicNav { get; set; } = null!;
}
}