using System; using System.Collections.Generic; using System.Linq; using System.Text; using System.Threading.Tasks; using Tango.Core; using Tango.Core.Commands; using Tango.Integration.Operation; using Tango.PMR.Diagnostics; namespace Tango.PPC.Technician.Models { public class DispenserController : ExtendedObject { private IMachineOperator _operator; public String Name { get; set; } public int Index { get; set; } private bool _isMovingUp; public bool IsMovingUp { get { return _isMovingUp; } set { _isMovingUp = value; RaisePropertyChangedAuto(); } } private bool _isMovingDown; public bool IsMovingDown { get { return _isMovingDown; } set { _isMovingDown = value; RaisePropertyChangedAuto(); } } private bool _isHoming; public bool IsHoming { get { return _isHoming; } set { _isHoming = value; RaisePropertyChangedAuto(); } } public RelayCommand MoveUpCommand { get; set; } public RelayCommand MoveDownCommand { get; set; } public RelayCommand HomeCommand { get; set; } public DispenserController(IMachineOperator machineOperator) { _operator = machineOperator; } public DispenserController() { MoveUpCommand = new RelayCommand(MoveUp, () => !IsHoming && !IsMovingDown); MoveDownCommand = new RelayCommand(MoveDown, () => !IsHoming && !IsMovingUp); HomeCommand = new RelayCommand(Home, () => !IsMovingUp && !IsMovingDown); } private void Home() { } private void MoveDown() { } private async void MoveUp() { await _operator.StartDispenserJogging(new DispenserJoggingRequest()); } } }