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(); }
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(); }
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(); }
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(); }
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; } } }