public void InitializeAvailableDevice() { var availableDevices = new HashSet<GKDevice>(); foreach (var device in GKManager.Devices) { if (device.Driver.HasZone && device.ZoneUIDs.Count == 0) { if ((device.IsInMPT && !GlobalSettingsHelper.GlobalSettings.ShowMPTsDevicesForZone) || (device.GuardZones.Count > 0 && !GlobalSettingsHelper.GlobalSettings.ShowGuardZonesDevices) || (device.Door != null && !GlobalSettingsHelper.GlobalSettings.ShowDoorsDevicesForZone)) continue; availableDevices.Add(device); } } AvailableDevices = new ObservableCollection<ZoneDeviceViewModel>(); foreach (var device in availableDevices) { var deviceViewModel = new ZoneDeviceViewModel(device) { IsBold = device.Driver.HasZone }; AvailableDevices.Add(deviceViewModel); } OnPropertyChanged(() => AvailableDevices); SelectedAvailableDevice = AvailableDevices.FirstOrDefault(); }
public void Initialize(GKZone zone) { Zone = zone; var devices = new HashSet<GKDevice>(); foreach (var device in GKManager.Devices) { if (device.Driver.HasZone) { if (device.ZoneUIDs.Contains(Zone.UID) && device.ZoneUIDs.Count != 0) { devices.Add(device); } } } Devices = new ObservableCollection<ZoneDeviceViewModel>(); foreach (var device in devices) { var deviceViewModel = new ZoneDeviceViewModel(device) { IsBold = device.ZoneUIDs.Contains(Zone.UID) }; Devices.Add(deviceViewModel); } OnPropertyChanged(() => Devices); SelectedDevice = Devices.FirstOrDefault(); }
public void Initialize(XZone zone) { Zone = zone; var devices = new HashSet<XDevice>(); var availableDevices = new HashSet<XDevice>(); foreach (var device in XManager.Devices) { if (device.Driver.HasLogic) { foreach (var clause in device.DeviceLogic.Clauses) { foreach (var clauseZone in clause.Zones) { if (clauseZone.UID == zone.UID) { devices.Add(device); } } } } if (device.Driver.HasZone) { if (device.ZoneUIDs.Contains(Zone.UID)) { devices.Add(device); } else { if (device.ZoneUIDs.Count == 0) { availableDevices.Add(device); } } } } Devices = new ObservableCollection<ZoneDeviceViewModel>(); foreach (var device in devices) { var deviceViewModel = new ZoneDeviceViewModel(device) { IsBold = device.ZoneUIDs.Contains(Zone.UID) }; Devices.Add(deviceViewModel); } var selectedDevice = Devices.LastOrDefault(); AvailableDevices = new ObservableCollection<ZoneDeviceViewModel>(); foreach (var device in availableDevices) { if ((device.DriverType == XDriverType.GKIndicator) || (device.DriverType == XDriverType.GKLine) || (device.DriverType == XDriverType.GKRele) || (device.DriverType == XDriverType.KAUIndicator)) continue; var deviceViewModel = new ZoneDeviceViewModel(device) { IsBold = device.Driver.HasZone }; AvailableDevices.Add(deviceViewModel); } var selectedAvailableDevice = AvailableDevices.LastOrDefault(); //AvailableDevices = new ObservableCollection<ZoneDeviceViewModel>(AvailableDevices.Where(x => x.Device.Parent == null)); OnPropertyChanged(() => Devices); OnPropertyChanged(() => AvailableDevices); SelectedDevice = selectedDevice; SelectedAvailableDevice = selectedAvailableDevice; }