public async Task <LocationResponse> LocationUpdateReceivedAsync(string userId, Location location, DateTimeOffset now, FocusManageResult focusManageResult) { await pushSyncService.SetLocationRequestDone(userId); await locationStore.UpdateLocationAsync(userId, location); //if (location.RequestSupport.HasValue && !location.RequestSupport.Value) //{ // return new LocationResponse(); //} var response = new LocationResponse() { NextUpdateRequiredAt = await RequestLocationForItems(userId, focusManageResult, now, location.Timestamp), Geofences = await locationStore.GetActiveGeofenceRequests(userId, now) }; if (response.NextUpdateRequiredAt.HasValue) { await pushSyncService.SetLocationRequestedExternal(userId, response.NextUpdateRequiredAt.Value); } return(response); }