public static void AddDeviceToZone(GKDevice device, GKZone zone) { if (!device.Zones.Contains(zone)) { device.Zones.Add(zone); } if (!device.ZoneUIDs.Contains(zone.UID)) device.ZoneUIDs.Add(zone.UID); if (!device.InputDependentElements.Contains(zone)) device.InputDependentElements.Add(zone); if (!zone.OutputDependentElements.Contains(device)) zone.OutputDependentElements.Add(device); zone.Devices.Add(device); zone.OnChanged(); device.OnChanged(); }
public static void ChangeDeviceZones(GKDevice device, List<GKZone> zones) { foreach (var zone in device.Zones) { zone.Devices.Remove(device); zone.OnChanged(); } device.Zones.Clear(); device.ZoneUIDs.Clear(); foreach (var zone in zones) { device.Zones.Add(zone); device.ZoneUIDs.Add(zone.UID); zone.Devices.Add(device); zone.OnChanged(); } device.OnChanged(); }
public static void ChangeDeviceGuardZones(GKDevice device, List<GKDeviceGuardZone> deviceGuardZones) { foreach (var guardZone in device.GuardZones) { guardZone.GuardZoneDevices.RemoveAll(x => x.Device == device); guardZone.OnChanged(); } device.GuardZones.Clear(); foreach (var deviceGuardZone in deviceGuardZones) { device.GuardZones.Add(deviceGuardZone.GuardZone); var gkGuardZoneDevice = new GKGuardZoneDevice(); gkGuardZoneDevice.Device = device; gkGuardZoneDevice.DeviceUID = device.UID; if (deviceGuardZone.ActionType != null) gkGuardZoneDevice.ActionType = deviceGuardZone.ActionType.Value; gkGuardZoneDevice.CodeReaderSettings = deviceGuardZone.CodeReaderSettings; deviceGuardZone.GuardZone.GuardZoneDevices.Add(gkGuardZoneDevice); deviceGuardZone.GuardZone.OnChanged(); } device.ChangedLogic(); device.OnChanged(); }
public static void SetDeviceLogic(GKDevice device, GKLogic logic, bool isNs = false) { if (isNs) device.NSLogic = logic; else device.Logic = logic; device.ChangedLogic(); device.OnChanged(); }
public static void ChangeIsInMPT(GKDevice device, bool isInMPT) { if (device != null) { device.IsInMPT = isInMPT; var deviceViewModel = DevicesViewModel.Current.AllDevices.FirstOrDefault(x => x.Device.UID == device.UID); if (deviceViewModel != null) { deviceViewModel.UpdateProperties(); } device.OnChanged(); } }
public static void RemoveDeviceFromGuardZone(GKDevice device, GKGuardZone guardZone) { if (guardZone != null) { guardZone.GuardZoneDevices.RemoveAll(x => x.DeviceUID == device.UID); device.GuardZones.RemoveAll(x => x.UID == guardZone.UID); guardZone.OutputDependentElements.RemoveAll(x => x.UID == device.UID); device.InputDependentElements.RemoveAll(x => x.UID == guardZone.UID); device.OnChanged(); } }
public static void RemoveDeviceFromZone(GKDevice device, GKZone zone) { if (zone != null) { device.Zones.Remove(zone); device.ZoneUIDs.Remove(zone.UID); zone.Devices.Remove(device); zone.OutputDependentElements.Remove(device); device.InputDependentElements.Remove(zone); zone.OnChanged(); device.OnChanged(); } }