public void AddZones(double[] ranges, string key, string value) { if (Observer == null) { Log.Debug("app", "Observer is not defined yet"); return; } var zoneBuilder = Observer.ZoneBuilder(); OnEnterDefaultZoneHandler en = new OnEnterDefaultZoneHandler(this.Model); OnChangeDefaultZoneHandler ch = new OnChangeDefaultZoneHandler(this.Model); OnExitDefaultZoneHandler ex = new OnExitDefaultZoneHandler(this.Model); bool first = true; foreach (var range in ranges) { ProximityZones.Add(zoneBuilder .ForAttachmentKeyAndValue(first ? "AuparNotificationZone" : key, first ? "Always" : value) .InCustomRange(range) .WithOnEnterAction(en) .WithOnChangeAction(ch) .WithOnExitAction(ex) .Create()); Log.Debug("app", $"Proximity all ready to go! - Zone range {range} "); } Observer.AddProximityZones(ProximityZones); }
public void AddCustomZone(double range, string key, string value, string[] beacons) { if (Observer == null) { Log.Debug("app", "Observer is not defined yet"); return; } var newZone = Observer .ZoneBuilder() .ForAttachmentKeyAndValue(key, value) .InCustomRange(range) .WithOnEnterAction(new OnEnterCustomZoneHandler(this.Model, beacons)) .WithOnChangeAction(new OnChangeCustomZoneHandler(this.Model, beacons)) .WithOnExitAction(new OnExitCustomZoneHandler(this.Model, beacons)) .Create(); Observer.AddProximityZone(newZone); ProximityZones.Add(newZone); Log.Debug("app", $"Proximity all ready to go! - Zone range {range} "); }