using System; using System.Collections.Generic; using System.Linq; using System.Text; using System.Threading.Tasks; using Tango.BL.Entities; using Tango.BL.Enumerations; using Tango.SharedUI; namespace Tango.MachineStudio.MachineDesigner.ViewModels { public class MachineCreationDialogVM : DialogViewVM { public List Prototypes { get; set; } public List HardwareVersions { get; set; } public List HardwareVersionsFiltered { get { return HardwareVersions.Where(x => x.MachineType == (int)MachineType).ToList(); } } private HardwareVersion _selectedHardwareVersion; public HardwareVersion SelectedHardwareVersion { get { return _selectedHardwareVersion; } set { _selectedHardwareVersion = value; RaisePropertyChangedAuto(); } } private MachinePrototype _selectedProtoType; public MachinePrototype SelectedPrototype { get { return _selectedProtoType; } set { _selectedProtoType = value; MachineType = (MachineTypes)value.MachineType; } } private bool _isNewMachine; public bool IsNewMachine { get { return _isNewMachine; } set { _isNewMachine = value; RaisePropertyChangedAuto(); } } private String _serialNumber; public String SerialNumber { get { return _serialNumber; } set { _serialNumber = value; RaisePropertyChangedAuto(); InvalidateRelayCommands(); } } private MachineTypes _machineType; public MachineTypes MachineType { get { return _machineType; } set { _machineType = value; RaisePropertyChanged(nameof(HardwareVersionsFiltered)); SelectedHardwareVersion = HardwareVersionsFiltered.FirstOrDefault(); } } private String _name; public String Name { get { return _name; } set { _name = value; RaisePropertyChangedAuto(); InvalidateRelayCommands(); } } protected override bool CanOK() { return base.CanOK() && !String.IsNullOrWhiteSpace(SerialNumber) && !String.IsNullOrWhiteSpace(Name) && SelectedHardwareVersion != null; } } }