public async Task <DistanceMatrixGetRes> GetDistanceMatrixForProduct(string FromProductId, string ToProductId, string Units = "metric", string TransitMode = "bus") { DistanceMatrixGetRes response = new DistanceMatrixGetRes(); DistanceMatrixGetReq request = new DistanceMatrixGetReq(); try { request.Units = Units; request.Transit_Mode = TransitMode; var FromProduct = GetProductDetails(FromProductId); var ToProduct = GetProductDetails(ToProductId); if (FromProduct == null) { response.ResponseStatus.Status = "Failure"; response.ResponseStatus.ErrorMessage = "Product not found : " + FromProductId; return(response); } if (ToProduct == null) { response.ResponseStatus.Status = "Failure"; response.ResponseStatus.ErrorMessage = "Product not found : " + ToProductId; return(response); } if (FromProduct.Placeholder == true || ToProduct.Placeholder == true)//if any of the From or To Placeholder is true then do not calculate matrix { response.ResponseStatus.Status = "Failure"; response.ResponseStatus.ErrorMessage = "Product not found : " + ToProductId; return(response); } request.Origins.Latitude = Convert.ToDouble(FromProduct.Lat); request.Origins.Longitude = Convert.ToDouble(FromProduct.Long); request.Destinations.Latitude = Convert.ToDouble(ToProduct.Lat); request.Destinations.Longitude = Convert.ToDouble(ToProduct.Long); response = await GetDistanceMatrix(request); if (response == null) { response.ResponseStatus.Status = "Failure"; response.ResponseStatus.ErrorMessage = "Error occurred while calling Google service"; } } catch (System.Exception ex) { Console.WriteLine(ex.Message); response.ResponseStatus.Status = "Failure"; response.ResponseStatus.ErrorMessage = ex.Message; } return(response); }
public async Task <DistanceMatrixGetRes> GetDistanceMatrixForCity(string FromCityId, string ToCityId, string Units = "metric", string TransitMode = "bus") { DistanceMatrixGetRes response = new DistanceMatrixGetRes(); DistanceMatrixGetReq request = new DistanceMatrixGetReq(); try { request.Units = Units; request.Transit_Mode = TransitMode; var FromCity = GetCityDetails(FromCityId); var ToCity = GetCityDetails(ToCityId); if (FromCity == null) { response.ResponseStatus.Status = "Failure"; response.ResponseStatus.ErrorMessage = "City not found : " + FromCityId; return(response); } if (ToCity == null) { response.ResponseStatus.Status = "Failure"; response.ResponseStatus.ErrorMessage = "City not found : " + ToCity; return(response); } request.Origins.Latitude = Convert.ToDouble(FromCity.Lat); request.Origins.Longitude = Convert.ToDouble(FromCity.Lon); request.Destinations.Latitude = Convert.ToDouble(ToCity.Lat); request.Destinations.Longitude = Convert.ToDouble(ToCity.Lon); response = await GetDistanceMatrix(request); if (response == null) { response.ResponseStatus.Status = "Failure"; response.ResponseStatus.ErrorMessage = "Error occurred while calling Google service"; } else { response.OriginCity = FromCity.ResortName; response.DestinationCity = ToCity.ResortName; } } catch (System.Exception ex) { Console.WriteLine(ex.Message); response.ResponseStatus.Status = "Failure"; response.ResponseStatus.ErrorMessage = ex.Message; } return(response); }
public async Task <DistanceMatrixGetRes> GetDistanceMatrixForProduct([FromBody] DistanceMatrixReq request) { var response = new DistanceMatrixGetRes(); try { if (!(string.IsNullOrEmpty(request.FromId) || string.IsNullOrEmpty(request.ToId))) { response = await _genericRepository.GetDistanceMatrixForProduct(request.FromId, request.ToId); } else { response.ResponseStatus.Status = "Failure"; response.ResponseStatus.ErrorMessage = "Details can not be blank."; } } catch (Exception ex) { response.ResponseStatus.Status = "Failure"; response.ResponseStatus.ErrorMessage = "An Error Occurs :- " + ex.Message; } return(response); }