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