public override IEnumerable <Location> GetLocations(string query) { // Trying to get locations from database. IEnumerable <Location> locations = _repository.GetLocationsBySearch(query); // If there are no locations... if (locations.Any() == false) { // ... use web service to find locations. locations = _webservice.GetLocationsFromTextSearch(query); // Save locations in repository. foreach (var location in locations) { // TODO: Spara bara locations som användaren har hämtat väderdata för. Eller radera övriga. // Check if entry with same GeoName-id already exists. if (!_repository.locationExists(location.LocationID)) { _repository.AddLocation(location); _repository.Save(); } } } return(locations); }