private GoogleMapsServiceResponse <RootObject> ProcessAddress(string address) { GoogleMapsServiceResponse <RootObject> response = new GoogleMapsServiceResponse <RootObject>(); using (HttpClient client = new HttpClient()) { try { string urlRequest = _settings.UrlRootApi + UrlGeocoding + string.Format("/json?address={0}&key={1}", address, _settings.ApiKey); var stringTask = client.GetStringAsync(urlRequest); string result = stringTask.Result; RootObject responseCall = JsonConvert.DeserializeObject <RootObject>(result); response.Result = responseCall; response.Status = base.GetEnumStatus(responseCall); } catch (Exception ex) { response.Exception = ex; if (ex.InnerException.GetType() == typeof(HttpRequestException)) { response.Status = Enums.GoogleMapsResponseStatus.BAD_REQUEST_ERROR; } else { response.Status = Enums.GoogleMapsResponseStatus.UNKNOWN_ERROR; } } } return(response); }
public GoogleMapsServiceResponse <RootObjectDistanceMatrix> GetDistance(string origin, string destination, string mode) { GoogleMapsServiceResponse <RootObjectDistanceMatrix> response = new GoogleMapsServiceResponse <RootObjectDistanceMatrix>(); try { using (HttpClient client = new HttpClient()) { string urlRequest = _settings.UrlRootApi + UrlGeocoding + string.Format("/json?units=metric&origins={0}&destinations={1}&key={2}", origin, destination, _settings.ApiKey); if (!String.IsNullOrEmpty(mode)) { urlRequest += "&mode=" + mode; } var stringTask = client.GetStringAsync(urlRequest); string result = stringTask.Result; RootObjectDistanceMatrix resultCall = JsonConvert.DeserializeObject <RootObjectDistanceMatrix>(result); response.Result = resultCall; response.Status = base.GetEnumStatus(resultCall); } } catch (Exception ex) { response.Exception = ex; if (ex.InnerException.GetType() == typeof(HttpRequestException)) { response.Status = Enums.GoogleMapsResponseStatus.BAD_REQUEST_ERROR; } else { response.Status = Enums.GoogleMapsResponseStatus.UNKNOWN_ERROR; } } return(response); }
private void BasicTestResponse(GoogleMapsServiceResponse <RootObject> response, GoogleMapsResponseStatus status) { Assert.IsNotNull(response, "response is null"); Assert.IsTrue(response.Status == status, "status is null"); if (status == GoogleMapsResponseStatus.OK) { Assert.IsNull(response.Exception); } else if (status == GoogleMapsResponseStatus.BAD_REQUEST_ERROR) { Assert.IsNotNull(response.Exception); } }