public DeviceDetailsViewModel() { Title = "Добавить устройство"; Devices = new ObservableCollection<LibraryDeviceViewModel>(); var drivers = (from GKDriver driver in GKManager.Drivers select driver).ToList(); foreach (var driver in drivers) { if (!GKManager.DeviceLibraryConfiguration.GKDevices.Any(x => x.DriverUID == driver.UID) && (driver.IsPlaceable)) { var gkLibraryDevice = new GKLibraryDevice() { Driver = driver, DriverUID = driver.UID }; var libraryState = new GKLibraryState() { StateClass = XStateClass.No, }; libraryState.Frames.Add(new GKLibraryFrame() { Id = 0 }); gkLibraryDevice.States.Add(libraryState); var deviceViewModel = new LibraryDeviceViewModel(gkLibraryDevice); Devices.Add(deviceViewModel); } } SelectedDevice = Devices.FirstOrDefault(); }
public LibraryDeviceDetailsViewModel() { Title = "Добавить устройство"; Devices = new ObservableCollection<LibraryDeviceViewModel>(); var drivers = (from SKDDriver driver in SKDManager.Drivers select driver).ToList(); foreach (var driver in drivers) { if (!SKDManager.SKDLibraryConfiguration.Devices.Any(x => x.DriverId == driver.UID) && driver.IsPlaceable) { var skdLibraryDevice = new SKDLibraryDevice() { Driver = driver, DriverId = driver.UID }; var deviceViewModel = new LibraryDeviceViewModel(skdLibraryDevice); Devices.Add(deviceViewModel); } } SelectedDevice = Devices.FirstOrDefault(); }
public LibraryViewModel() { AddDeviceCommand = new RelayCommand(OnAddDevice); RemoveDeviceCommand = new RelayCommand(OnRemoveDevice, CanRemoveDevice); AddStateCommand = new RelayCommand(OnAddState, CanAddState); RemoveStateCommand = new RelayCommand(OnRemoveState, CanRemoveState); Current = this; var devicesToRemove = new List<SKDLibraryDevice>(); foreach (var libraryDevice in SKDManager.SKDLibraryConfiguration.Devices) { var driver = SKDManager.Drivers.FirstOrDefault(x => x.UID == libraryDevice.DriverId); if (driver != null) { libraryDevice.Driver = driver; } else { devicesToRemove.Add(libraryDevice); Logger.Error("SKDLibraryViewModel.Initialize driver = null " + libraryDevice.DriverId.ToString()); } } foreach (var libraryXDevice in devicesToRemove) { SKDManager.SKDLibraryConfiguration.Devices.RemoveAll(x => x == libraryXDevice); } if(devicesToRemove.Count > 0) ServiceFactory.SaveService.SKDLibraryChanged = true; var devices = from SKDLibraryDevice libraryDevice in SKDManager.SKDLibraryConfiguration.Devices.Where(x => x.Driver != null) orderby libraryDevice.Driver.DeviceClassName select libraryDevice; Devices = new ObservableCollection<LibraryDeviceViewModel>(); foreach (var device in devices) { var deviceViewModel = new LibraryDeviceViewModel(device); Devices.Add(deviceViewModel); } SelectedDevice = Devices.FirstOrDefault(); }