/// /// Copyright (c) 2013-2017 Sensus Metering Systems /// using System; using System.IO; namespace Config.Entities { public class ComponentProcedure { public virtual int Id { get; protected set; } public virtual string CmpntName { get; set; } /// Component name public virtual string Parameters { get; set; } public virtual Procedure Procedure { get; set; } public virtual ComponentProcedure Clone(Procedure newProcedure) { ComponentProcedure result = new ComponentProcedure(); result.CmpntName = CmpntName; result.Parameters = Parameters; result.Procedure = newProcedure; return result; } public virtual void Export(StreamWriter output) { output.WriteLine(CmpntName); output.WriteLine(Parameters.Replace(Environment.NewLine, "~")); } public static ComponentProcedure Import(StreamReader input, Procedure newProcedure) { string firstLine = input.ReadLine(); if (string.IsNullOrEmpty(firstLine)) return null; ComponentProcedure result = new ComponentProcedure(); result.CmpntName = firstLine; result.Parameters = input.ReadLine().Replace("~", Environment.NewLine); result.Procedure = newProcedure; return result; } } }