public RoadStatusConsoleResponse ProcessRequest(RoadStatusConsoleRequest roadStatusConsoleRequest) { var roadStatusQueryService = new RoadStatusQueryService(new RoadStatusUriBuilder(new ApplicationAccessDetailsRepository().LoadAccessDetails())); var roadStatusQueryRequest = new RoadStatusQueryRequest { RoadId = roadStatusConsoleRequest.RoadId }; var roadStatusQueryResponse = roadStatusQueryService.ProcessRoadStatusRequest(roadStatusQueryRequest); var roadStatusConsoleResponseBuilder = new RoadStatusConsoleResponseBuilder(); return(roadStatusConsoleResponseBuilder.Build(roadStatusQueryRequest, roadStatusQueryResponse)); }
public RoadStatusConsoleResponse Build(RoadStatusQueryRequest queryRequest, RoadStatusQueryResponse queryResponse) { var roadStatusConsoleResponse = new RoadStatusConsoleResponse(); if (queryResponse.RoadIdIsValid) { var statusMessageBuilder = new StringBuilder(); statusMessageBuilder.AppendLine(string.Format("The status of the {0} is as follows", queryResponse.RoadStatusDetails.DisplayName)); statusMessageBuilder.AppendLine(string.Format("Road Status is {0}", queryResponse.RoadStatusDetails.StatusSeverity)); statusMessageBuilder.AppendLine(string.Format("Road Status Description is {0}", queryResponse.RoadStatusDetails.StatusSeverityDescription)); roadStatusConsoleResponse.StatusMessage = statusMessageBuilder.ToString(); roadStatusConsoleResponse.ExitCode = 0; } else { roadStatusConsoleResponse.StatusMessage = string.Format("{0} is not a valid road", queryRequest.RoadId); roadStatusConsoleResponse.ExitCode = -1; } return(roadStatusConsoleResponse); }