75 lines
2.3 KiB
C#
75 lines
2.3 KiB
C#
///
|
|
/// Copyright (c) 2013-2015 Sensus Metering Systems
|
|
///
|
|
using System;
|
|
using System.Collections.Generic;
|
|
|
|
namespace TBF.Entities
|
|
{
|
|
public class Component : IHasItemNr
|
|
{
|
|
public virtual int Id { get; protected set; }
|
|
public virtual int ItemNr { get; set; }
|
|
public virtual string Name { get; set; }
|
|
public virtual string ClassName { get; set; }
|
|
public virtual string ParentName { get; set; }
|
|
public virtual DebugMode Mode { get; set; }
|
|
public virtual LogLevel Logging { get; set; }
|
|
public virtual string Parameters { get; set; }
|
|
public virtual IList<MeasurementCorrection> Corrections { get; set; }
|
|
|
|
/// ------------- Additional stuff not mapped into the database -------------
|
|
|
|
public Component()
|
|
{
|
|
Corrections = new List<MeasurementCorrection>();
|
|
}
|
|
|
|
public static Component CreateFromCfg(string name, string className, string parentName, int itemNr,
|
|
DebugMode debugLevel, LogLevel logLevel, string parameters)
|
|
{
|
|
Component result = new Component();
|
|
result.ItemNr = itemNr;
|
|
result.Name = name;
|
|
result.ClassName = className;
|
|
result.ParentName = parentName;
|
|
result.Mode = debugLevel;
|
|
result.Logging = logLevel;
|
|
result.Parameters = parameters;
|
|
return result;
|
|
}
|
|
|
|
// Makes a new copy of this object (not just a reference)
|
|
public virtual Component Clone()
|
|
{
|
|
Component result = new Component();
|
|
result.ItemNr = ItemNr;
|
|
result.Name = Name;
|
|
result.ClassName = ClassName;
|
|
result.ParentName = ParentName;
|
|
result.Mode = Mode;
|
|
result.Logging = Logging;
|
|
result.Parameters = Parameters;
|
|
return result;
|
|
}
|
|
|
|
public virtual string ToString(string indent)
|
|
{
|
|
string result = string.Empty;
|
|
|
|
result += indent + "ItemNr = " + (ItemNr + 1).ToString() + Environment.NewLine;
|
|
result += indent + "Name = " + Name + Environment.NewLine;
|
|
result += indent + "ClassName = " + ClassName + Environment.NewLine;
|
|
if (ParentName != null)
|
|
{
|
|
result += indent + "ParentName = " + ParentName + Environment.NewLine;
|
|
}
|
|
result += indent + "DebugLevel = " + Mode.ToString() + Environment.NewLine;
|
|
result += indent + "LogLevel = " + Logging.ToString() + Environment.NewLine;
|
|
result += indent + "Parameters = " + Parameters + Environment.NewLine;
|
|
|
|
return result;
|
|
}
|
|
}
|
|
}
|