private void BeginDispense(double timeForDispense)
        {
            // Should only get here with a positive time and the _Dispensetimer not running
            // Needs valid vial IDs
            if ((timeForDispense >= 0) &&
                (Model_DispenseStation.DispenserStatus.HALT == DispenserStatus) &&
                (false == _DispenseTimer.Enabled))
            {
                DispenserStatus = Model_DispenseStation.DispenserStatus.DISPENSING;

                _DispenseTimer.Interval = timeForDispense;
                _DispenseTimer.Enabled  = true;
                _DispenseTimer.Start();

                // Notify top level state machine of success
                RaiseEventOnTopLevel(OnDispenseUpdateEvent, new object[] { this, false, string.Format(". Begin dispense from Input Vial ID{0} to Output Vial ID{1}", _DispenseFromID, _DispenseToID) });
            }
        }
 private void SetRest()
 {
     _DispenseFromID = 0;
     _DispenseToID   = 0;
     DispenserStatus = Model_DispenseStation.DispenserStatus.HALT;
 }