Example #1
0
		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();
		}
Example #2
0
		/// <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();
			});
		}
Example #3
0
		/// <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();
		}