/// <summary> /// Get the nearest street for operational object. /// </summary> /// <param name="operationalObjectPoint">The operational object unique identifier.</param> /// <param name="streetName">The street name.</param> /// <returns>The nearest street and the intersection point.</returns> public Tuple <NetworkLinkDTO, SqlGeometry> GetNearestNamedRoad(DbGeometry operationalObjectPoint, string streetName) { using (loggingHelper.RMTraceManager.StartTrace("Business.GetNearestNamedRoad")) { string methodName = typeof(NetworkManagerBusinessService) + "." + nameof(GetNearestNamedRoad); loggingHelper.LogMethodEntry(methodName, priority, entryEventId); List <string> categoryNamesSimpleLists = new List <string> { ReferenceDataCategoryNames.NetworkLinkType, }; var referenceDataCategoryList = networkManagerIntegrationService.GetReferenceDataSimpleLists(categoryNamesSimpleLists).Result; Tuple <NetworkLinkDataDTO, SqlGeometry> getNearestNamedRoad = streetNetworkDataService.GetNearestNamedRoad(operationalObjectPoint, streetName, referenceDataCategoryList); NetworkLinkDTO networkLink = null; if (getNearestNamedRoad != null && getNearestNamedRoad.Item1 != null) { networkLink = new NetworkLinkDTO() { Id = getNearestNamedRoad.Item1.ID, LinkGeometry = getNearestNamedRoad.Item1.LinkGeometry, NetworkLinkType_GUID = getNearestNamedRoad.Item1.NetworkLinkTypeGUID, TOID = getNearestNamedRoad.Item1.TOID }; } Tuple <NetworkLinkDTO, SqlGeometry> nearestRoad = new Tuple <NetworkLinkDTO, SqlGeometry>(networkLink, getNearestNamedRoad.Item2); loggingHelper.LogMethodExit(methodName, priority, exitEventId); return(nearestRoad); } }
public void Test_GetNearestNamedRoad() { var actualResult = testCandidate.GetNearestNamedRoad(point, "XYZ1", referenceDataCategoryList); Assert.IsNotNull(actualResult); Assert.IsNotNull(actualResult.Item1); Assert.IsNotNull(actualResult.Item2); }