/// /// Copyright (c) 2013-2015 Sensus Metering Systems /// using System.IO; using System.Text; using System.Xml.Serialization; using Config.Entities; using TBF.BenchControl.Generic; using TBF.Resources; namespace TBF.BenchControl.ResultsPrinters.Munich { public class ProcParams : ProcedureParamsBase, IParamsProvider, IProcedureParams { public string Version; public string Zaehlertyp; public string Pruefvorlage; public string Eichjahr; public override void InitializeAll() { Version = "4/13"; Zaehlertyp = ""; Pruefvorlage = ""; Eichjahr = "2014"; } string[] paramNames = new string[] { Strings.Version, "Zählertyp", "Prüfvorlage", "Eichjahr", }; public override string ParamName(int i) { return paramNames[i]; } public override int ParamsCount() { return paramNames.Length; } public override string ToString(int i) { switch (i) { case 0: return Version; case 1: return Zaehlertyp; case 2: return Pruefvorlage; case 3: return Eichjahr; default: return string.Empty; } } public void UpdateParam(int i, string strValue) { switch (i) { case 0: Version = strValue; return; case 1: Zaehlertyp = strValue; return; case 2: Pruefvorlage = strValue; return; case 3: Eichjahr = strValue; return; default: return; } } public bool ValidateParam(int i, string strValue, out string message) { message = string.Empty; switch (i) { case 0: case 1: case 2: case 3: return true; default: message = "Invalid index"; return false; } } void CopyContentTo(ProcParams prms) { prms.Version = this.Version; prms.Zaehlertyp = this.Zaehlertyp; prms.Pruefvorlage = this.Pruefvorlage; prms.Eichjahr = this.Eichjahr; } public IParamsProvider Clone() { ProcParams pars = new ProcParams(); CopyContentTo(pars); return pars; } public override void UpdateProcedureParams(ComponentProcedure dbEntity) { if (dbEntity == null) return; try { ProcParams tmp = (ProcParams)(new XmlSerializer(typeof(ProcParams))) .Deserialize(new StringReader(dbEntity.Parameters)); procedureParamsEntity = dbEntity; componentName = dbEntity.CmpntName; procedure = dbEntity.Procedure; tmp.CopyContentTo(this); } catch { } } public ProcParams() { } public ProcParams(ComponentProcedure procParamsEntity, string componentName, Procedure procedure) { this.procedureParamsEntity = procParamsEntity; this.componentName = componentName; this.procedure = procedure; } } }