aboutsummaryrefslogtreecommitdiffstats
path: root/Software/Visual_Studio/PPC/Modules/Tango.PPC.Jobs/NavigationObjects/JobSummeryNavigationObject.cs
blob: 912b426836f91ff7722aaff3c6feac991cde03ba (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
using Tango.BL;
using Tango.BL.Entities;

namespace Tango.PPC.Jobs.NavigationObjects
{
    public class JobSummeryNavigationObject
    {
        public ObservablesContext Context { get; set; }
        public Job Job { get; set; }
    }
}
an>Tango.Core.Commands; using Tango.Core.DI; using Tango.Integration.Operation; using Tango.PPC.Common.Connection; using Tango.PPC.Common.Notifications; namespace Tango.PPC.Maintenance { public abstract class MaintenanceCommand<T> : ExtendedObject { private IMachineProvider _machineProvider; [TangoInject(Mode = TangoInjectMode.WhenAvailable)] protected IMachineProvider MachineProvider { get { return _machineProvider; } set { _machineProvider = value; RaisePropertyChangedAuto(); _machineProvider.MachineOperator.StatusChanged += MachineOperator_StatusChanged; } } [TangoInject(Mode = TangoInjectMode.WhenAvailable)] protected INotificationProvider NotificationProvider { get; set; } private RelayCommand _command; public RelayCommand Command { get { return _command; } set { _command = value; RaisePropertyChangedAuto(); } } private bool _isEnabled; public bool IsEnabled { get { return _isEnabled; } set { _isEnabled = value; RaisePropertyChangedAuto(); InvalidateRelayCommands(); } } private T _state; public T State { get { return _state; } set { _state = value; RaisePropertyChangedAuto(); InvalidateRelayCommands(); } } private void MachineOperator_StatusChanged(object sender, MachineStatuses e) { InvalidateRelayCommands(); } public MaintenanceCommand() { TangoIOC.Default.Inject(this); IsEnabled = true; Command = new RelayCommand(Execute, CanExecute); } protected virtual bool CanExecute() { if (!IsEnabled) return false; if (MachineProvider == null) return false; if (!MachineProvider.MachineOperator.CanPrint) return false; return true; } private void Execute() { OnExecute(); } protected abstract void OnExecute(); } }