using System; using System.Collections.Generic; using System.Linq; using System.Text; using System.ComponentModel.DataAnnotations; using System.ComponentModel.DataAnnotations.Schema; namespace EgtBEAMWALL.DataLayer.DatabaseModels { /// /// Tabella dei grezzi /// [Table("MachGroupList")] public class MachGroupModel { #region Public Properties /// /// Data End /// [Column("DtEnd")] public DateTime DtEnd { get; set; } /// /// Data Start /// [Column("DtStart")] public DateTime DtStart { get; set; } [Column("H")] public double H { get; set; } = 0; [Column("L")] public double L { get; set; } = 0; /// /// Stato locked (quando aperto da un dispositivo in rete) /// [Column("Lock")] public bool Locked { get; set; } = false; /// /// Indice di revisione (per recupero rapido modifiche) /// [Column("LogRev")] public int LogRev { get; set; } = 0; [Key, Column("DbId"), DatabaseGenerated(DatabaseGeneratedOption.Identity)] public int MachGroupDbId { get; set; } [Column("Id")] public int MachGroupId { get; set; } [Column("Material")] public string Material { get; set; } = ""; [Column("Name")] public string Name { get; set; } = ""; [ForeignKey("ProdDbId")] public ProdModel Prod { get; set; } [Column("ProdDbId")] public int ProdDbId { get; set; } [Column("ProdIndex")] public int ProdIndex { get; set; } = 10000; /// /// MachGroup state /// [Column("State")] public Core.ItemState State { get; set; } = Core.ItemState.ND; [Column("SupervisorId")] public string SupervisorId { get; set; } = ""; [Column("W")] public double W { get; set; } = 0; #endregion Public Properties #region Public Methods public override int GetHashCode() { return base.GetHashCode(); } /// /// Funzione di verifica equals limitata ai campi di pertinenza del ViewOptyimizer /// /// /// public bool ViewOptimEquals(object obj) { if (!(obj is MachGroupModel item)) return false; if (H != item.H) return false; if (L != item.L) return false; if (W != item.W) return false; if (MachGroupId != item.MachGroupId) return false; if (Material != item.Material) return false; if (Name != item.Name) return false; if (ProdDbId != item.ProdDbId) return false; return true; } #endregion Public Methods } }