예제 #1
0
		public void Initialize()
		{
			foreach (var libraryDevice in FiresecManager.DeviceLibraryConfiguration.Devices)
			{
				var driver = FiresecClient.FiresecManager.Drivers.FirstOrDefault(x => x.UID == libraryDevice.DriverId);
				if (driver != null)
				{
					libraryDevice.Driver = driver;
				}
				else
				{
					Logger.Error("LibraryViewModel.Initialize driver = null " + libraryDevice.DriverId.ToString());
				}
			}
			FiresecManager.DeviceLibraryConfiguration.Devices.RemoveAll(x => x.Driver == null);

			var devices = from LibraryDevice libraryDevice in FiresecManager.DeviceLibraryConfiguration.Devices orderby libraryDevice.Driver.DeviceClassName select libraryDevice;
			Devices = new ObservableCollection<DeviceViewModel>();
			foreach (var device in devices)
			{
				var deviceViewModel = new DeviceViewModel(device);
				Devices.Add(deviceViewModel);
			}
			SelectedDevice = Devices.FirstOrDefault();
		}
예제 #2
0
 public void Initialize()
 {
     // Чтобы протестить случай, когда для какого-то устройства из библиотеки нету драйвера.
     //FiresecManager.LibraryConfiguration.Devices[0].DriverId = System.Guid.NewGuid();
     DeviceViewModels = new ObservableCollection<DeviceViewModel>(
         FiresecManager.LibraryConfiguration.Devices.Select(device => new DeviceViewModel(device))
     );
     SelectedDeviceViewModel = DeviceViewModels.FirstOrDefault();
 }
예제 #3
0
		public DeviceDetailsViewModel()
		{
			Title = "Добавить устройство";

			Devices = new List<DeviceViewModel>();
			foreach (var driver in FiresecManager.Drivers)
			{
				if (driver.IsPlaceable && !driver.IsIgnore && !FiresecManager.DeviceLibraryConfiguration.Devices.Any(x => x.DriverId == driver.UID))
				{
					var libraryDevice = new LibraryDevice()
					{
						Driver = driver,
						DriverId = driver.UID
					};
					var deviceViewModel = new DeviceViewModel(libraryDevice);
					Devices.Add(deviceViewModel);
				}
			}
			SelectedDevice = Devices.FirstOrDefault();
		}
예제 #4
0
		public StateDetailsViewModel(DeviceViewModel deviceViewModel)
			: base()
		{
			Title = "Добавить состояние";

            var libraryStates = new List<LibraryState>();
			foreach (StateType stateType in Enum.GetValues(typeof(StateType)))
			{
				if (!deviceViewModel.States.Any(x => x.StateType == stateType && x.Code == null))
                {
                    var libraryState = new LibraryState()
                    {
                        StateType = stateType
                    };
                    libraryStates.Add(libraryState);
                }
			}

			var driverStates = from DriverState driverState in deviceViewModel.Driver.States orderby driverState.StateType select driverState;
            foreach (var driverState in driverStates)
            {
				if (driverState.Name != null && !deviceViewModel.States.Any(x => x.Code == driverState.Code))
                {
                    var libraryState = new LibraryState()
                    {
                        StateType = driverState.StateType,
                        Code = driverState.Code
                    };
                    libraryStates.Add(libraryState);
                }
            }

            States = new List<StateViewModel>();
            foreach (var libraryState in libraryStates)
            {
				var stateViewModel = new StateViewModel(libraryState, deviceViewModel.Driver);
                States.Add(stateViewModel);
            }
            SelectedState = States.FirstOrDefault();
		}
예제 #5
0
		void OnAddDevicePresenter()
		{
			var presenterProperty = SelectedDevice.Driver.PresenterKeyProperty;
			if (presenterProperty != null)
			{
				var viewModel = new PresenterKeyViewModel(presenterProperty);
				if (DialogService.ShowModalWindow(viewModel))
				{
					if (SelectedDevice.LibraryDevice.Presenters == null)
						SelectedDevice.LibraryDevice.Presenters = new List<LibraryDevicePresenter>();
					var presenter = new LibraryDevicePresenter()
					{
						Key = viewModel.Value
					};
					SelectedDevice.LibraryDevice.Presenters.Add(presenter);
					var newDevice = new DeviceViewModel(SelectedDevice.LibraryDevice, presenter);
					SelectedDevice.AddChild(newDevice);
					SelectedDevice.IsExpanded = true;
					SelectedDevice = newDevice;
					ServiceFactory.SaveService.LibraryChanged = true;
				}
			}
		}