public static DeviceViewModel AddDevice(GKDevice device, DeviceViewModel parentDeviceViewModel, bool isAddDevice = true, bool isStartList = false) { var deviceViewModel = new DeviceViewModel(device); if (isAddDevice) { if (isStartList) parentDeviceViewModel.AddChildFirst(deviceViewModel); else parentDeviceViewModel.AddChild(deviceViewModel); foreach (var childDevice in device.Children) { AddDevice(childDevice, deviceViewModel); } } else { parentDeviceViewModel.InsertChild(deviceViewModel); foreach (var childDevice in device.Children) { AddDevice(childDevice, deviceViewModel, !isAddDevice); } } return deviceViewModel; }
DeviceViewModel AddDeviceInternal(GKDevice device, DeviceViewModel parentDeviceViewModel) { var deviceViewModel = new DeviceViewModel(device); if (parentDeviceViewModel != null) parentDeviceViewModel.AddChild(deviceViewModel); foreach (var childDevice in device.Children) AddDeviceInternal(childDevice, deviceViewModel); return deviceViewModel; }
private DeviceViewModel AddDeviceInternal(XDevice device, DeviceViewModel parentDeviceViewModel) { var deviceViewModel = new DeviceViewModel(device); if (parentDeviceViewModel != null) parentDeviceViewModel.AddChild(deviceViewModel); foreach (var childDevice in device.Children) AddDeviceInternal(childDevice, deviceViewModel); if (device.UID == _elementXDevice.XDeviceUID) SelectedDevice = deviceViewModel; return deviceViewModel; }
DeviceViewModel AddDeviceInternal(GKDevice device, DeviceViewModel parentDeviceViewModel) { if (device.DriverType == GKDriverType.RSR2_MVP) foreach (var autoCreateDriverType in device.Driver.AutoCreateChildren) { var autoCreateDriver = GKManager.Drivers.FirstOrDefault(x => x.DriverType == autoCreateDriverType); for (byte i = autoCreateDriver.MinAddress; i <= autoCreateDriver.MaxAddress; i++) { GKManager.AddDevice(device, autoCreateDriver, i); } } var deviceViewModel = new DeviceViewModel(device); if (parentDeviceViewModel != null) parentDeviceViewModel.AddChild(deviceViewModel); foreach (var childDevice in device.Children) AddDeviceInternal(childDevice, deviceViewModel); if (deviceViewModel.Device.DriverType == GKDriverType.RSR2_KAU_Shleif) deviceViewModel.ExpandToThis(); return deviceViewModel; }
public static DeviceViewModel AddDevice(XDevice device, DeviceViewModel parentDeviceViewModel) { var deviceViewModel = new DeviceViewModel(device); parentDeviceViewModel.AddChild(deviceViewModel); foreach (var childDevice in device.Children) { AddDevice(childDevice, deviceViewModel); } if (device.Driver.IsGroupDevice) { var driver = XManager.Drivers.FirstOrDefault(x => x.DriverType == device.Driver.GroupDeviceChildType); for (byte i = 0; i < device.Driver.GroupDeviceChildrenCount; i++) { var autoDevice = XManager.AddChild(device, driver, (byte)(device.IntAddress + i)); AddDevice(autoDevice, deviceViewModel); } } return deviceViewModel; }