///
/// Copyright (c) 2017 Sensus Metering Systems
///
using log4net;
namespace TBF.BenchControl.MettlerToledo
{
public class WaitTankEmptyOp : IOperation
{
private static readonly ILog log = LogManager.GetLogger(typeof(WaitTankEmptyOp));
public override string ToString() { return string.Format("WaitTankEmptyOp()"); }
readonly GenericDevices.ITankDraining tankDraining;
bool conditionMet;
///
/// Events: ConditionMet, ConditionNotMet
///
/// Tank draining (Balance device) instance
public WaitTankEmptyOp(GenericDevices.ITankDraining tankDraining)
{
this.tankDraining = tankDraining;
log.Debug(this.ToString());
}
/// Start this operation
public void Start()
{
conditionMet = tankDraining.IsEmpty();
}
/// Run this operation
///
/// Event.ConditionMet . . . tank is empty
/// Event.ConditionNotMet . tank is not empty
///
public Event Run()
{
conditionMet = conditionMet || tankDraining.IsEmpty();
return conditionMet ? Event.ConditionMet : Event.ConditionNotMet;
}
/// Stop this operation
public void Stop()
{
}
}
}