Files
cms_thermo_active/Thermo.Active.Model/DTOModels/Scada/DTOScadaModel.cs
T
2020-06-19 19:28:07 +02:00

236 lines
6.1 KiB
C#

using System.Collections.Generic;
using System.Linq;
namespace Thermo.Active.Model.DTOModels.Scada
{
public class DTOScadaModel
{
public int Id { get; set; }
public string Name { get; set; }
public bool IsInProductionPage { get; set; }
public List<DTOScadaButtonModel> Buttons { get; set; }
public List<DTOScadaImageModel> Images { get; set; }
public List<DTOScadaProgressBarModel> ProgressBars { get; set; }
public List<DTOScadaInputModel> Inputs { get; set; }
public List<DTOScadaLabelModel> Labels { get; set; }
public DTOScadaModel()
{
Name = "";
Buttons = new List<DTOScadaButtonModel>();
Images = new List<DTOScadaImageModel>();
ProgressBars = new List<DTOScadaProgressBarModel>();
Inputs = new List<DTOScadaInputModel>();
Labels = new List<DTOScadaLabelModel>();
}
public override bool Equals(object obj)
{
if (!(obj is DTOScadaModel item))
return false;
if (item.Buttons.Count() != Buttons.Count() || item.Images.Count() != Images.Count() || item.ProgressBars.Count() != ProgressBars.Count() || item.Inputs.Count() != Inputs.Count())
return false;
// Compare lists of buttons, images, progressbar and inputs
bool listAreEquals = item.Buttons.All(Buttons.Contains);
if (!listAreEquals)
return false;
listAreEquals = item.Images.All(Images.Contains);
if (!listAreEquals)
return false;
listAreEquals = item.ProgressBars.All(ProgressBars.Contains);
if (!listAreEquals)
return false;
listAreEquals = item.Inputs.All(Inputs.Contains);
if (!listAreEquals)
return false;
listAreEquals = item.Labels.All(Labels.Contains);
if (!listAreEquals)
return false;
return true;
}
public override int GetHashCode()
{
return base.GetHashCode();
}
}
//public class DTOScadaLayerModel
//{
// public int Id { get; set; }
// public List<DTOScadaButtonModel> Buttons { get; set; }
// public List<DTOScadaImageModel> Images { get; set; }
// public List<DTOScadaProgressBarModel> ProgressBars { get; set; }
// public List<DTOScadaInputModel> Inputs { get; set; }
// public DTOScadaLayerModel()
// {
// Buttons = new List<DTOScadaButtonModel>();
// Images = new List<DTOScadaImageModel>();
// ProgressBars = new List<DTOScadaProgressBarModel>();
// Inputs = new List<DTOScadaInputModel>();
// }
//}
public class DTOScadaButtonModel
{
public int Id { get; set; }
public bool IsEnabled { get; set; }
public override bool Equals(object obj)
{
if (!(obj is DTOScadaButtonModel item))
return false;
if (item.Id != Id)
return false;
if (item.IsEnabled != IsEnabled)
return false;
return true;
}
public override int GetHashCode()
{
return base.GetHashCode();
}
}
public class DTOScadaImageModel
{
public int Id { get; set; }
public bool IsVisible { get; set; }
public override bool Equals(object obj)
{
if (!(obj is DTOScadaImageModel item))
return false;
if (item.Id != Id)
return false;
if (item.IsVisible != IsVisible)
return false;
return true;
}
public override int GetHashCode()
{
return base.GetHashCode();
}
}
public class DTOScadaProgressBarModel
{
public int Id { get; set; }
public byte Value { get; set; }
public override bool Equals(object obj)
{
if (!(obj is DTOScadaProgressBarModel item))
return false;
if (item.Id != Id)
return false;
if (item.Value != Value)
return false;
return true;
}
public override int GetHashCode()
{
return base.GetHashCode();
}
}
public class DTOScadaInputModel
{
public int Id { get; set; }
public DTOScadaValueModel Value { get; set; }
public DTOScadaInputModel()
{
Id = 0;
Value = new DTOScadaValueModel();
}
public override bool Equals(object obj)
{
if (!(obj is DTOScadaInputModel item))
return false;
if (item.Id != Id)
return false;
return item.Value.Equals(Value);
}
public override int GetHashCode()
{
return base.GetHashCode();
}
}
public class DTOScadaValueModel
{
public bool IsEnabled { get; set; }
public object Value { get; set; }
public override bool Equals(object obj)
{
if (!(obj is DTOScadaValueModel item))
return false;
if (item.IsEnabled != IsEnabled)
return false;
if (item.Value != null && item.Value != null)
{
if (!item.Value.Equals(Value))
return false;
}
return true;
}
public override int GetHashCode()
{
return base.GetHashCode();
}
}
public class DTOScadaLabelModel
{
public int Id { get; set; }
public bool IsVisible { get; set; }
public override bool Equals(object obj)
{
if (!(obj is DTOScadaLabelModel item))
return false;
if (item.IsVisible != IsVisible)
return false;
return true;
}
public override int GetHashCode()
{
return base.GetHashCode();
}
}
}