public async Task Remove(AlarmItem alarm) { try { await _geofenceManager.RemoveGeofence(alarm.GeofenceId); _databaseManager.Delete(alarm); OnAlarmsSetChanged(); } catch (Exception e) { _logService.Log(Tag, e); throw; } }
public async Task AddAlarm(AlarmItem alarm) { try { alarm.GeofenceId = Guid.NewGuid().ToString(); await _geofenceManager.AddGeofence(alarm.GeofenceId, alarm.Latitude, alarm.Longitude, alarm.Radius); _databaseManager.Add(alarm); OnAlarmsSetChanged(); } catch (Exception e) { _logService.Log(Tag, e); throw; } }
public async Task SwitchEnabled(AlarmItem alarm) { try { var newEnabledValue = !alarm.Enabled; if (newEnabledValue) await _geofenceManager.AddGeofence(alarm.GeofenceId, alarm.Latitude, alarm.Longitude, alarm.Radius); else await _geofenceManager.RemoveGeofence(alarm.GeofenceId); alarm.Enabled = newEnabledValue; _databaseManager.Update(alarm); OnAlarmsSetChanged(); } catch (Exception e) { _logService.Log(Tag, e); throw; } }