refactor + new DTO x valori signal-r

This commit is contained in:
Samuele E. Locatelli
2021-02-04 16:19:11 +01:00
parent b8462438c1
commit a6a078faac
4 changed files with 213 additions and 79 deletions
@@ -8,12 +8,12 @@ namespace Thermo.Active.Model.DTOModels.ThIO
{
public class DTOChannelsIO
{
public List<DigitalIN> DI { get; set; }
public List<DigitalOUT> DO { get; set; }
public List<AnalogIN> AI { get; set; }
public List<AnalogOUT> AO { get; set; }
public List<DigitalIN> DI { get; set; } = new List<DigitalIN>();
public List<DigitalOUT> DO { get; set; } = new List<DigitalOUT>();
public List<AnalogIN> AI { get; set; } = new List<AnalogIN>();
public List<AnalogOUT> AO { get; set; } = new List<AnalogOUT>();
}
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);
}
/// <summary>
/// Hash gen
/// </summary>
/// <returns></returns>
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);
}
/// <summary>
/// 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);
}
/// <summary>
/// Hash gen
/// </summary>
/// <returns></returns>
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;
}
/// <summary>
/// Hash gen
/// </summary>
/// <returns></returns>
public override int GetHashCode()
{
return base.GetHashCode();
}
}
}
@@ -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<DigInVal> DI { get; set; } = new List<DigInVal>();
public List<DigOutVal> DO { get; set; } = new List<DigOutVal>();
public List<AnalInVal> AI { get; set; } = new List<AnalInVal>();
public List<AnalOutVal> AO { get; set; } = new List<AnalOutVal>();
}
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);
}
/// <summary>
/// Hash gen
/// </summary>
/// <returns></returns>
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);
}
/// <summary>
/// Hash gen
/// </summary>
/// <returns></returns>
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);
}
/// <summary>
/// Hash gen
/// </summary>
/// <returns></returns>
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);
}
/// <summary>
/// Hash gen
/// </summary>
/// <returns></returns>
public override int GetHashCode()
{
return base.GetHashCode();
}
}
}
@@ -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;
}
/// <summary>
/// Hash gen
/// </summary>
/// <returns></returns>
public override int GetHashCode()
{
return base.GetHashCode();
}
}
}
@@ -113,8 +113,10 @@
<Compile Include="DTOModels\DTOM156InputModel.cs" />
<Compile Include="DTOModels\DTOMessageModel.cs" />
<Compile Include="DTOModels\ThAxes\DTOAxisInfoModel.cs" />
<Compile Include="DTOModels\ThIO\DTOChannelsIOVal.cs" />
<Compile Include="DTOModels\ThIO\DTOChannelsSetup.cs" />
<Compile Include="DTOModels\ThIO\DTOChannelsIO.cs" />
<Compile Include="DTOModels\ThIO\IoBaseConf.cs" />
<Compile Include="DTOModels\ThModules\DTOModulesBlock.cs" />
<Compile Include="DTOModels\ThProd\DTOProdInfo.cs" />
<Compile Include="DTOModels\ThProd\DTOThermoPanelProd.cs" />