public async Task <SearchResult> Search(TrackingSearcher searcher) { try { var result = await _trackingRepository.Search(searcher); for (int i = 0; i < result.Path.Length; i++) { result.Path[i].Address = await ReverseGeocode(result.Path[i].Lat, result.Path[i].Long); } return(result); } catch (Exception ex) { Logger.LogError(ex, $"Error accured while searching tracking data for VehicleID:{searcher.VehicleID} from {(new DateTime(searcher.StartTime)).ToLongDateString()} to {(new DateTime(searcher.EndTime)).ToLongDateString()}"); throw; } }