示例#1
0
        protected virtual void TryFireEvent(CLRegionEventArgs args, GeofenceStatus status)
        {
            if (!(args.Region is CLCircularRegion native))
            {
                return;
            }

            var region = FromNative(native);

            RegionStatusChanged?.Invoke(this, new GeofenceStatusChangedEventArgs(region, status));
        }
        protected virtual void DoBroadcast(CLRegionEventArgs args, GeofenceStatus status)
        {
            Debug.WriteLine("Firing geofence region event");
            var native = args.Region as CLCircularRegion;

            if (native == null)
            {
                return;
            }

            var region = this.FromNative(native);

            this.RegionStatusChanged?.Invoke(this, new GeofenceStatusChangedEventArgs(region, status));
        }
示例#3
0
        public async void RecordStatus(GeofenceRegion region, GeofenceStatus status)
        {
            var activity = new ModelsData.GeofenceActivity()
            {
                ActivityUtcDateTime = System.DateTime.UtcNow,
                Region             = region.Identifier,
                Status             = status.ToString(),
                GeofenceActivityId = System.Guid.NewGuid()
            };

            activity.Longitude = currentLocation.Longitude;
            activity.Latitude  = currentLocation.Latitude;

            await DataRetrievalService.WriteGeofencingActivityRecord(activity);

            await RefreshRecentGeofenceStatus();
        }
示例#4
0
 public GeofenceException(string message, Exception innerException, GeofenceStatus status) : base(message, innerException)
 {
     Status = status;
 }
示例#5
0
 public GeofenceException(string message, GeofenceStatus status) : base(message)
 {
     Status = status;
 }
 public GeofenceStatusChangedEventArgs(GeofenceRegion region, GeofenceStatus status)
 {
     this.Region = region;
     this.Status = status;
 }
 public GeofenceStatusChangedEventArgs(GeofenceRegion region, GeofenceStatus status)
 {
     this.Region = region;
     this.Status = status;
 }
示例#8
0
        protected virtual void DoBroadcast(CLRegionEventArgs args, GeofenceStatus status)
        {
            Debug.WriteLine("Firing geofence region event");
            var native = args.Region as CLCircularRegion;
            if (native == null)
                return;

            var region = this.FromNative(native);
            this.RegionStatusChanged?.Invoke(this, new GeofenceStatusChangedEventArgs(region, status));
        }
示例#9
0
 protected virtual void OnRegionStatusChanged(GeofenceRegion region, GeofenceStatus status)
 => RegionStatusChanged?.Invoke(this, new GeofenceStatusChangedEventArgs(region, status));