private RouteServiceResultDTO GetRouteProximityTotals(RouteProximityOptions routeProximityOptions, RouteStop[] routes) { RouteServiceResultDTO routeServiceResult = new RouteServiceResultDTO(); using (var routeProximitySoapClient = new RouteProximitySoapClient()) { var getRouteProximityTotalsResponse = routeProximitySoapClient.getRouteProximityTotals(routes, routeProximityOptions, TOKEN); routeServiceResult.TotalDistance = getRouteProximityTotalsResponse.totalDistance; routeServiceResult.TotalFuelCost = getRouteProximityTotalsResponse.totalfuelCost; routeServiceResult.TotalTime = getRouteProximityTotalsResponse.totalTime; routeServiceResult.TotalTollFeeCost = getRouteProximityTotalsResponse.totaltollFeeCost; } return(routeServiceResult); }
public RouteServiceResultDTO Process(RouteServiceParameterRequestDTO routeParameterRequest) { RouteServiceResultDTO routeServiceResult = new RouteServiceResultDTO(); try { if (routeParameterRequest == null || routeParameterRequest.originalRoute == null || routeParameterRequest.destinationRoute == null) { ThrowFaultException("Invalid Input Parameters !"); } RouteType routeType = routeParameterRequest.routeType; //Set GeoLocation Information from Original Route SetGeolocationInfo(routeParameterRequest.originalRoute); //Get GeoLocation Information from Destination Route SetGeolocationInfo(routeParameterRequest.destinationRoute); //Mount RouteStop Objects RouteStop originalRouteDetails = GetRouteStopInfo(routeParameterRequest.originalRoute); RouteStop destinationRouteDetails = GetRouteStopInfo(routeParameterRequest.destinationRoute); //Get Route Proximity Options var routeProximityOptions = GetRouteProximityOptions(routeType); var routes = new[] { originalRouteDetails, destinationRouteDetails }; //Get Summary Totals routeServiceResult = GetRouteProximityTotals(routeProximityOptions, routes); } catch (Exception) { ThrowFaultException("Problem while executing Process Call !"); } return(routeServiceResult); }