/// /// Copyright (c) 2013-2015, 2017 Sensus Metering Systems /// using System; using System.Collections.Generic; namespace Config.Entities { public class TransitionStep : IHasItemNr, IHasValves { public virtual int Id { get; protected set; } public virtual int ItemNr { get; set; } /// Order of the preparation step public virtual int Duration { get; set; } /// Duration in seconds public virtual string Message { get; set; } /// Message public virtual string EndCondition { get; set; } /// Condition when transition step is finished (next to the duration) public virtual string ValvesOpen { get; set; } /// List of valves to be opened public virtual string ValvesClose { get; set; } /// List of valves to be closed public virtual string RegulValvesPct { get; set; } /// Positions of regulation valves in % separated by ';' public virtual string PumpWithFMPcts { get; set; } /// Power of FM controlled pumps in % separated by ';' public virtual TransitionSequence TransitionSequence { get; set; } /// ------------- Additional stuff not mapped into the database ------------- public TransitionStep() { Duration = 5; /// sec. EndCondition = "None"; } public TransitionStep(int itemNr, TransitionSequence sequence) : this() { ItemNr = itemNr; TransitionSequence = sequence; } public virtual TransitionStep Clone() { TransitionStep result = new TransitionStep(ItemNr, TransitionSequence); result.Duration = Duration; result.Message = Message; result.EndCondition = EndCondition; result.ValvesOpen = ValvesOpen; result.ValvesClose = ValvesClose; result.RegulValvesPct = RegulValvesPct; result.PumpWithFMPcts = PumpWithFMPcts; return result; } public virtual string ToString(string indent) { string result = ""; result += indent + "ItemNr = " + ItemNr.ToString() + ", "; result += indent + "Duration = " + Duration.ToString() + ", "; result += indent + "Message = " + Message + ", "; result += indent + "EndCondition = " + EndCondition + ", "; result += indent + "ValvesOpen = " + ValvesOpen + ", "; result += indent + "ValvesClose = " + ValvesClose + ", "; result += indent + "RegulValvesPct = " + RegulValvesPct + ", "; result += indent + "PumpsWithFMPct = " + PumpWithFMPcts + Environment.NewLine; return result; } } }