diff --git a/Thermo.Active.Model/DTOModels/ThIO/DTOChannelsIO.cs b/Thermo.Active.Model/DTOModels/ThIO/DTOChannelsIO.cs index 5f7efb57..35791054 100644 --- a/Thermo.Active.Model/DTOModels/ThIO/DTOChannelsIO.cs +++ b/Thermo.Active.Model/DTOModels/ThIO/DTOChannelsIO.cs @@ -21,11 +21,26 @@ namespace Thermo.Active.Model.DTOModels.ThIO { if (!(obj is DigitalIN item)) return false; - + if (Id != item.Id) + return false; + if (Bank != item.Bank) + return false; + if (Position != item.Position) + return false; + if (Page != item.Page) + return false; + if (Wire != Wire) + return false; + if (Profinet != item.Profinet) + return false; + if (Label != item.Label) + return false; + if (Visible != item.Visible) + return false; if (Value != item.Value) return false; - return base.Equals((IoItemConf)obj); + return true; } /// /// Hash gen @@ -45,10 +60,26 @@ namespace Thermo.Active.Model.DTOModels.ThIO if (!(obj is AnalogIN item)) return false; + if (Id != item.Id) + return false; + if (Bank != item.Bank) + return false; + if (Position != item.Position) + return false; + if (Page != item.Page) + return false; + if (Wire != Wire) + return false; + if (Profinet != item.Profinet) + return false; + if (Label != item.Label) + return false; + if (Visible != item.Visible) + return false; if (Value != item.Value) return false; - return base.Equals((IoItemConf)obj); + return true; } /// /// Hash gen @@ -71,6 +102,24 @@ namespace Thermo.Active.Model.DTOModels.ThIO if (!(obj is DigitalOUT item)) return false; + if (Id != item.Id) + return false; + if (Bank != item.Bank) + return false; + if (Position != item.Position) + return false; + if (Page != item.Page) + return false; + if (Wire != Wire) + return false; + if (Profinet != item.Profinet) + return false; + if (Label != item.Label) + return false; + if (Visible != item.Visible) + return false; + if (Value != item.Value) + return false; if (ForceEnabled != item.ForceEnabled) return false; if (ForceZero != item.ForceZero) @@ -80,7 +129,7 @@ namespace Thermo.Active.Model.DTOModels.ThIO if (IsForced != item.IsForced) return false; - return base.Equals((DigitalIN)obj); + return true; } /// /// Hash gen @@ -102,6 +151,24 @@ namespace Thermo.Active.Model.DTOModels.ThIO if (!(obj is AnalogOUT item)) return false; + if (Id != item.Id) + return false; + if (Bank != item.Bank) + return false; + if (Position != item.Position) + return false; + if (Page != item.Page) + return false; + if (Wire != Wire) + return false; + if (Profinet != item.Profinet) + return false; + if (Label != item.Label) + return false; + if (Visible != item.Visible) + return false; + if (Value != item.Value) + return false; if (ForceEnabled != item.ForceEnabled) return false; if (ForcedValue != item.ForcedValue) @@ -109,7 +176,7 @@ namespace Thermo.Active.Model.DTOModels.ThIO if (IsForced != item.IsForced) return false; - return base.Equals((AnalogIN)obj); + return true; } /// /// Hash gen diff --git a/Thermo.Active.Model/DTOModels/ThIO/DTOChannelsIOVal.cs b/Thermo.Active.Model/DTOModels/ThIO/DTOChannelsIOVal.cs index d327aefe..e4bd5b4d 100644 --- a/Thermo.Active.Model/DTOModels/ThIO/DTOChannelsIOVal.cs +++ b/Thermo.Active.Model/DTOModels/ThIO/DTOChannelsIOVal.cs @@ -19,13 +19,15 @@ namespace Thermo.Active.Model.DTOModels.ThIO public override bool Equals(object obj) { - if (!(obj is DigitalIN item)) + if (!(obj is DigInVal item)) return false; + if (Id != item.Id) + return false; if (Value != item.Value) return false; - return base.Equals((IoItemConf)obj); + return true; } /// /// Hash gen @@ -42,13 +44,15 @@ namespace Thermo.Active.Model.DTOModels.ThIO public override bool Equals(object obj) { - if (!(obj is AnalogIN item)) + if (!(obj is AnalInVal item)) return false; + if (Id != item.Id) + return false; if (Value != item.Value) return false; - return base.Equals((IoItemConf)obj); + return true; } /// /// Hash gen @@ -68,9 +72,11 @@ namespace Thermo.Active.Model.DTOModels.ThIO public override bool Equals(object obj) { - if (!(obj is DigitalOUT item)) + if (!(obj is DigOutVal item)) return false; + if (Id != item.Id) + return false; if (ForceEnabled != item.ForceEnabled) return false; if (ForceZero != item.ForceZero) @@ -79,8 +85,10 @@ namespace Thermo.Active.Model.DTOModels.ThIO return false; if (IsForced != item.IsForced) return false; + if (Value != item.Value) + return false; - return base.Equals((DigitalIN)obj); + return true; } /// /// Hash gen @@ -99,17 +107,21 @@ namespace Thermo.Active.Model.DTOModels.ThIO public override bool Equals(object obj) { - if (!(obj is AnalogOUT item)) + if (!(obj is AnalOutVal item)) return false; + if (Id != item.Id) + return false; if (ForceEnabled != item.ForceEnabled) return false; if (ForcedValue != item.ForcedValue) return false; if (IsForced != item.IsForced) return false; + if (Value != item.Value) + return false; - return base.Equals((AnalogIN)obj); + return true; } /// /// Hash gen diff --git a/Thermo.Active/Listeners/SignalR/SignalRListener.cs b/Thermo.Active/Listeners/SignalR/SignalRListener.cs index a2a6144c..4fd0c6ad 100644 --- a/Thermo.Active/Listeners/SignalR/SignalRListener.cs +++ b/Thermo.Active/Listeners/SignalR/SignalRListener.cs @@ -562,7 +562,7 @@ namespace Thermo.Active.Listeners.SignalR { // recupero var element = LastChannelsIoData.DI.Find(x => x.Id == item.Id); - if ((element == null) || (!item.Value.Equals(element.Value))) + if ((element == null) || (!item.Equals(element))) { diffChannelsData.DI.Add(item); } @@ -572,7 +572,7 @@ namespace Thermo.Active.Listeners.SignalR { // recupero var element = LastChannelsIoData.DO.Find(x => x.Id == item.Id); - if ((element == null) || (!item.Value.Equals(element.Value))) + if ((element == null) || (!item.Equals(element))) { diffChannelsData.DO.Add(item); }