using EgwCoreLib.Lux.Data.DbModel.Utils; using System.ComponentModel.DataAnnotations; using System.ComponentModel.DataAnnotations.Schema; // // This is here so CodeMaid doesn't reorganize this document // namespace EgwCoreLib.Lux.Data.DbModel.Job { /// /// Definizione macro dei Cicli di Lavoro / Job /// [Table("task_job")] public class JobTaskModel { /// /// ID del record /// [Key] public int JobID { get; set; } /// /// Descrizione del ciclo di lavoro /// public string Description { get; set; } = ""; /// /// Indice (ordinale) visualizzazione /// public int Index { get; set; } = 0; /// /// Indica protezione cancellazione /// public bool Lock { get; set; } = false; /// /// Abilitato o meno x selezione /// public bool Enabled { get; set; } = true; /// /// Many-to-many with Tags /// public virtual ICollection TagNav { get; set; } = new List(); /// /// Navigation verso JobStep /// public virtual ICollection JobStepNav { get; set; } = new List(); /// /// Numero Step compresi /// [NotMapped] public int NumChild { get => JobStepNav?.Count ?? 0; } /// /// Numero Tags compresi /// [NotMapped] public int NumTags { get => TagNav?.Count ?? 0; } /// /// Elenco Tags come List /// [NotMapped] public List TagList { get => TagNav.Select(x => x.CodTag).ToList() ?? new List(); } /// /// Elenco ResourcesId come List /// [NotMapped] public List ResourcesList { get => JobStepNav.Select(x => x.ResourceID).ToList() ?? new List(); } } }