From a6a078faacbfbffc1e06fddf72318621c2eef1c8 Mon Sep 17 00:00:00 2001 From: "Samuele E. Locatelli" Date: Thu, 4 Feb 2021 16:19:11 +0100 Subject: [PATCH] refactor + new DTO x valori signal-r --- .../DTOModels/ThIO/DTOChannelsIO.cs | 109 +++++---------- .../DTOModels/ThIO/DTOChannelsIOVal.cs | 124 ++++++++++++++++++ .../DTOModels/ThIO/IoBaseConf.cs | 57 ++++++++ .../Thermo.Active.Model.csproj | 2 + 4 files changed, 213 insertions(+), 79 deletions(-) create mode 100644 Thermo.Active.Model/DTOModels/ThIO/DTOChannelsIOVal.cs create mode 100644 Thermo.Active.Model/DTOModels/ThIO/IoBaseConf.cs diff --git a/Thermo.Active.Model/DTOModels/ThIO/DTOChannelsIO.cs b/Thermo.Active.Model/DTOModels/ThIO/DTOChannelsIO.cs index 24571013..5f7efb57 100644 --- a/Thermo.Active.Model/DTOModels/ThIO/DTOChannelsIO.cs +++ b/Thermo.Active.Model/DTOModels/ThIO/DTOChannelsIO.cs @@ -8,12 +8,12 @@ namespace Thermo.Active.Model.DTOModels.ThIO { public class DTOChannelsIO { - public List DI { get; set; } - public List DO { get; set; } - public List AI { get; set; } - public List AO { get; set; } + public List DI { get; set; } = new List(); + public List DO { get; set; } = new List(); + public List AI { get; set; } = new List(); + public List AO { get; set; } = new List(); } - public class DigitalIN : IoBaseConf + public class DigitalIN : IoItemConf { public bool Value { get; set; } = false; @@ -25,7 +25,30 @@ namespace Thermo.Active.Model.DTOModels.ThIO if (Value != item.Value) return false; - return base.Equals((IoBaseConf)obj); + return base.Equals((IoItemConf)obj); + } + /// + /// Hash gen + /// + /// + public override int GetHashCode() + { + return base.GetHashCode(); + } + } + public class AnalogIN : IoItemConf + { + public int Value { get; set; } = 0; + + public override bool Equals(object obj) + { + if (!(obj is AnalogIN item)) + return false; + + if (Value != item.Value) + return false; + + return base.Equals((IoItemConf)obj); } /// /// Hash gen @@ -68,34 +91,10 @@ namespace Thermo.Active.Model.DTOModels.ThIO return base.GetHashCode(); } } - public class AnalogIN : IoBaseConf - { - public double Value { get; set; } = 0; - - public override bool Equals(object obj) - { - if (!(obj is AnalogIN item)) - return false; - - if (Value != item.Value) - return false; - - return base.Equals((IoBaseConf)obj); - } - /// - /// Hash gen - /// - /// - public override int GetHashCode() - { - return base.GetHashCode(); - } - } - public class AnalogOUT : AnalogIN { public bool ForceEnabled { get; set; } = true; - public double ForcedValue { get; set; } = 0; + public int ForcedValue { get; set; } = 0; public bool IsForced { get; set; } = false; public override bool Equals(object obj) @@ -122,52 +121,4 @@ namespace Thermo.Active.Model.DTOModels.ThIO } } - public class IoBaseConf - { - public int Id { get; set; } = 0; - public string Bank { get; set; } = "0"; - public string Position { get; set; } = "0"; - public string Page { get; set; } = "0"; - public string Wire { get; set; } = "0"; - public string Profinet { get; set; } = "0"; - public string Label { get; set; } = "LBL"; - public bool Visible { get; set; } = true; - - - public override bool Equals(object obj) - { - if (!(obj is IoBaseConf 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; - - return true; - } - /// - /// Hash gen - /// - /// - public override int GetHashCode() - { - return base.GetHashCode(); - } - } - - - } diff --git a/Thermo.Active.Model/DTOModels/ThIO/DTOChannelsIOVal.cs b/Thermo.Active.Model/DTOModels/ThIO/DTOChannelsIOVal.cs new file mode 100644 index 00000000..e36ee53f --- /dev/null +++ b/Thermo.Active.Model/DTOModels/ThIO/DTOChannelsIOVal.cs @@ -0,0 +1,124 @@ +using System; +using System.Collections.Generic; +using System.Linq; +using System.Text; +using System.Threading.Tasks; + +namespace Thermo.Active.Model.DTOModels.ThIO +{ + public class DTOChannelsIOVal + { + public List DI { get; set; } = new List(); + public List DO { get; set; } = new List(); + public List AI { get; set; } = new List(); + public List AO { get; set; } = new List(); + } + public class DigInVal: IoItem + { + public bool Value { get; set; } = false; + + public override bool Equals(object obj) + { + if (!(obj is DigitalIN item)) + return false; + + if (Value != item.Value) + return false; + + return base.Equals((IoItemConf)obj); + } + /// + /// Hash gen + /// + /// + public override int GetHashCode() + { + return base.GetHashCode(); + } + } + public class AnalInVal: IoItem + { + public int Value { get; set; } = 0; + + public override bool Equals(object obj) + { + if (!(obj is AnalogIN item)) + return false; + + if (Value != item.Value) + return false; + + return base.Equals((IoItemConf)obj); + } + /// + /// Hash gen + /// + /// + public override int GetHashCode() + { + return base.GetHashCode(); + } + } + public class DigOutVal : DigitalIN + { + public bool ForceEnabled { get; set; } = true; + public bool ForceZero { get; set; } = false; + public bool ForceOne { get; set; } = false; + public bool IsForced { get; set; } = false; + + public override bool Equals(object obj) + { + if (!(obj is DigitalOUT item)) + return false; + + if (ForceEnabled != item.ForceEnabled) + return false; + if (ForceZero != item.ForceZero) + return false; + if (ForceOne != item.ForceOne) + return false; + if (IsForced != item.IsForced) + return false; + + return base.Equals((DigitalIN)obj); + } + /// + /// Hash gen + /// + /// + public override int GetHashCode() + { + return base.GetHashCode(); + } + } + public class AnalOutVal : AnalogIN + { + public bool ForceEnabled { get; set; } = true; + public int ForcedValue { get; set; } = 0; + public bool IsForced { get; set; } = false; + + public override bool Equals(object obj) + { + if (!(obj is AnalogOUT item)) + return false; + + if (ForceEnabled != item.ForceEnabled) + return false; + if (ForcedValue != item.ForcedValue) + return false; + if (IsForced != item.IsForced) + return false; + + return base.Equals((AnalogIN)obj); + } + /// + /// Hash gen + /// + /// + public override int GetHashCode() + { + return base.GetHashCode(); + } + } + +} diff --git a/Thermo.Active.Model/DTOModels/ThIO/IoBaseConf.cs b/Thermo.Active.Model/DTOModels/ThIO/IoBaseConf.cs new file mode 100644 index 00000000..a11334a3 --- /dev/null +++ b/Thermo.Active.Model/DTOModels/ThIO/IoBaseConf.cs @@ -0,0 +1,57 @@ +using System; +using System.Collections.Generic; +using System.Linq; +using System.Text; +using System.Threading.Tasks; + +namespace Thermo.Active.Model.DTOModels.ThIO +{ + public class IoItem + { + public int Id { get; set; } = 0; + } + public class IoItemConf:IoItem + { + public string Bank { get; set; } = "0"; + public string Position { get; set; } = "0"; + public string Page { get; set; } = "0"; + public string Wire { get; set; } = "0"; + public string Profinet { get; set; } = "0"; + public string Label { get; set; } = "LBL"; + public bool Visible { get; set; } = true; + + + public override bool Equals(object obj) + { + if (!(obj is IoItemConf 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; + + return true; + } + /// + /// Hash gen + /// + /// + public override int GetHashCode() + { + return base.GetHashCode(); + } + } +} diff --git a/Thermo.Active.Model/Thermo.Active.Model.csproj b/Thermo.Active.Model/Thermo.Active.Model.csproj index 37483ff3..365268b4 100644 --- a/Thermo.Active.Model/Thermo.Active.Model.csproj +++ b/Thermo.Active.Model/Thermo.Active.Model.csproj @@ -113,8 +113,10 @@ + +