void AddFromTree(AutoSearchDeviceViewModel parentAutoDetectedDevice) { foreach (var autodetectedDevice in parentAutoDetectedDevice.Children) { if (autodetectedDevice.IsSelected) { AddAutoDevice(autodetectedDevice.Device); AddFromTree(autodetectedDevice); } } }
AutoSearchDeviceViewModel AddDevice(Device device, AutoSearchDeviceViewModel parentDeviceViewModel) { var deviceViewModel = new AutoSearchDeviceViewModel(device); foreach (var childDevice in device.Children) { if (childDevice.Driver == null) continue; var childDeviceViewModel = AddDevice(childDevice, deviceViewModel); deviceViewModel.Children.Add(childDeviceViewModel); } allDevices.Add(deviceViewModel); return deviceViewModel; }
void AddAutoDevice(AutoSearchDeviceViewModel autoDetectedDevice) { var device = autoDetectedDevice.Device; var parentDevice = FiresecManager.Devices.FirstOrDefault(x => x.PathId == device.Parent.PathId); parentDevice.Children.Add(device); var parentDeviceViewModel = DeviceViewModels.FirstOrDefault(x => x.Device.UID == parentDevice.UID); var deviceViewModel = new DeviceViewModel(device, parentDeviceViewModel.Source); deviceViewModel.Parent = parentDeviceViewModel; parentDeviceViewModel.Children.Add(deviceViewModel); parentDeviceViewModel.Update(); FiresecManager.FiresecConfiguration.DeviceConfiguration.Update(); }