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 Corrections { get; set; } /// ------------- Additional stuff not mapped into the database ------------- public Component() { Corrections = new List(); } 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; } } }