public static void AddDeviceToGuardZone(GKGuardZone guardZone, GKGuardZoneDevice guardZoneDevice) { var device = guardZoneDevice.Device; guardZone.GuardZoneDevices.Add(guardZoneDevice); if (!device.GuardZones.Contains(guardZone)) device.GuardZones.Add(guardZone); if (!device.InputDependentElements.Contains(guardZone)) device.InputDependentElements.Add(guardZone); if (!guardZone.OutputDependentElements.Contains(device)) guardZone.OutputDependentElements.Add(device); guardZone.OnChanged(); device.OnChanged(); }
/// <summary> /// Удаление охранной зоны /// </summary> /// <param name="guardZone"></param> public static void RemoveGuardZone(GKGuardZone guardZone) { GuardZones.Remove(guardZone); guardZone.OnChanged(); guardZone.OutputDependentElements.ForEach(x => { x.InputDependentElements.Remove(guardZone); if (x is GKDevice) { x.Invalidate(DeviceConfiguration); x.OnChanged(); } x.UpdateLogic(DeviceConfiguration); x.OnChanged(); }); }
/// <summary> /// Изменение охранной зоны /// </summary> /// <param name="guardZone"></param> public static void EditGuardZone(GKGuardZone guardZone) { guardZone.InputDependentElements.ForEach(x => x.OnChanged()); guardZone.OutputDependentElements.ForEach(x => x.OnChanged()); guardZone.OnChanged(); }