///
/// Copyright (c) 2013-2015 Sensus Metering Systems
///
using System;
using System.Collections.Generic;
using log4net;
using TBF.BenchControl;
namespace TBF.BenchControl.WaterMeters.WaterMeter
{
///
/// This component = instance of this class is a placeholder for a combined main watermeter
///
public class WaterMeter : ComponentBase, GenericDevices.IWaterMeter
{
private static readonly ILog log = LogManager.GetLogger(typeof(WaterMeter));
public override string ToString() { return string.Format("WaterMeter({0})", Cfg.ToString(1)); }
readonly WaterMeterCfg waterMeterCfg;
/// WaterMeter producer
public string ProductName { get { return waterMeterCfg.ProcParams.ProductName; } }
/// WaterMeter producer
public string Producer { get { return waterMeterCfg.ProcParams.Producer; } }
/// Nominal water flow in [m3/h]
public float Qn { get { return waterMeterCfg. ProcParams.Qn; } }
/// Nominal water flow in [m3/h]
public float Qt { get { return waterMeterCfg.ProcParams.Qt; } }
/// Nominal water flow in [m3/h]
public float Qmin { get { return waterMeterCfg.ProcParams.Qmin; } }
/// Metrological class
public string MetrologicalClass { get { return waterMeterCfg.ProcParams.MetrologicalClass; } }
/// WaterMeter approval information or signature
public string ApprovalInfo { get { return waterMeterCfg.ProcParams.ApprovalInfo; } }
/// Water: cold / hot
public Config.Entities.Medium WaterTemp { get { return waterMeterCfg.ProcParams.WaterTemp; } }
/// Properties set by the Begin and the End form
public string SerialNr
{
get { return serialNr; }
set { serialNr = value; }
}
string serialNr;
public string EndState
{
get { return endState; }
set { endState = value; }
}
string endState;
public string BeginState
{
get { return beginState; }
set { beginState = value; }
}
string beginState;
public bool Disabled
{
get { return disabled; }
set { disabled = value; }
}
bool disabled;
public WaterMeter()
{
ClearData();
}
public WaterMeter(WaterMeterCfg cfg)
: base(cfg)
{
ClearData();
waterMeterCfg = cfg;
log.Debug(this.ToString());
}
public void ClearData()
{
serialNr = string.Empty;
endState = string.Empty;
beginState = string.Empty;
disabled = false;
}
}
}