public static void CreateStates() { DeviceStates = new XDeviceConfigurationStates(); foreach (var device in DeviceConfiguration.Devices) { var deviceState = new XDeviceState() { Device = device, UID = device.UID, }; DeviceStates.DeviceStates.Add(deviceState); } foreach (var deviceState in DeviceStates.DeviceStates) { if (deviceState.Device.Parent != null) { deviceState.Parent = DeviceStates.DeviceStates.FirstOrDefault(x => x.Device == deviceState.Device.Parent); } foreach (var childDevice in deviceState.Device.Children) { deviceState.Children.Add(DeviceStates.DeviceStates.FirstOrDefault(x => x.Device == childDevice)); } } foreach (var zone in DeviceConfiguration.Zones) { var zoneState = new XZoneState() { Zone = zone, UID = zone.UID }; DeviceStates.ZoneStates.Add(zoneState); } foreach (var direction in DeviceConfiguration.Directions) { var directionState = new XDirectionState() { Direction = direction, UID = direction.UID }; DeviceStates.DirectionStates.Add(directionState); } }
static XManager() { DeviceConfiguration = new XDeviceConfiguration(); DriversConfiguration = new XDriversConfiguration(); DeviceStates = new XDeviceConfigurationStates(); }