示例#1
0
		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();
		}
示例#3
0
		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();
		}