Files
cms_thermo_active/Thermo.Active.Model/DTOModels/ThIO/DTOChannelsIO.cs
T
2021-02-05 18:32:29 +01:00

192 lines
5.5 KiB
C#

using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
namespace Thermo.Active.Model.DTOModels.ThIO
{
public class DTOChannelsIO
{
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 : IoItemConf
{
public bool Value { get; set; } = false;
public override bool Equals(object obj)
{
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 true;
}
/// <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 (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 true;
}
/// <summary>
/// Hash gen
/// </summary>
/// <returns></returns>
public override int GetHashCode()
{
return base.GetHashCode();
}
}
public class DigitalOUT : 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 (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)
return false;
if (ForceOne != item.ForceOne)
return false;
if (IsForced != item.IsForced)
return false;
return true;
}
/// <summary>
/// Hash gen
/// </summary>
/// <returns></returns>
public override int GetHashCode()
{
return base.GetHashCode();
}
}
public class AnalogOUT : 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 (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)
return false;
if (IsForced != item.IsForced)
return false;
return true;
}
/// <summary>
/// Hash gen
/// </summary>
/// <returns></returns>
public override int GetHashCode()
{
return base.GetHashCode();
}
}
}