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