public async Task Test_GetPostalAddressDetails_With_PostcodeAndStreet() { var result = await testCandidate.GetPostalAddressDetails("12,123", new Guid("1534AA41-391F-4579-A18D-D7EDF5B5F918")); Assert.IsNotNull(result); Assert.IsTrue(result.ToList().Count == 1); Assert.AreEqual(result.ToList()[0].Postcode, "123"); Assert.AreEqual(result.ToList()[0].Thoroughfare, "12"); }
/// <summary> /// Filter PostalAddress based on the post code /// </summary> /// <param name="selectedItem">selectedItem</param> /// <param name="unitGuid">unitGuid</param> /// <returns>List of postcodes</returns> public async Task <PostalAddressDTO> GetPostalAddressDetails(string selectedItem, Guid unitGuid) { using (loggingHelper.RMTraceManager.StartTrace("Business.GetPostalAddressDetails")) { string methodName = typeof(UnitLocationBusinessService) + "." + nameof(GetPostalAddressDetails); loggingHelper.LogMethodEntry(methodName, LoggerTraceConstants.UnitManagerAPIPriority, LoggerTraceConstants.UnitManagerBusinessServiceMethodEntryEventId); List <BindingDTO> nybDetails = new List <BindingDTO>(); List <BindingDTO> routeDetails = new List <BindingDTO>(); PostalAddressDTO postalAddressDto = null; var postalAddressDetails = await postalAddressDataService.GetPostalAddressDetails(selectedItem, unitGuid); var routeData = unitManagerIntegrationService.GetRouteData(selectedItem.Split(',')[1].Trim(), "ID,RouteName").Result; routeData.ForEach(route => { routeDetails.Add(new BindingDTO { Value = route.ID, DisplayText = route.RouteName }); }); Guid nybAddressTypeId = unitManagerIntegrationService.GetReferenceDataGuId(PostalAddressType, FileType.Nyb.ToString()).Result; Mapper.Initialize(cfg => { cfg.CreateMap <PostalAddressDataDTO, PostalAddressDTO>(); }); var postalAddressDetailsDTO = Mapper.Map <List <PostalAddressDataDTO>, List <PostalAddressDTO> >(postalAddressDetails); if (postalAddressDetailsDTO != null && postalAddressDetailsDTO.Count > 0) { postalAddressDto = postalAddressDetailsDTO[0]; foreach (var postalAddress in postalAddressDetailsDTO) { if (postalAddress.AddressType_GUID == nybAddressTypeId) { string address = string.Join(",", Convert.ToString(postalAddress.BuildingNumber) ?? string.Empty, postalAddress.BuildingName, postalAddress.SubBuildingName); string formattedAddress = Regex.Replace(address, ",+", ",").Trim(','); nybDetails.Add(new BindingDTO { Value = postalAddress.ID, DisplayText = formattedAddress }); } } nybDetails.OrderBy(n => n.DisplayText); nybDetails.Add(new BindingDTO { Value = Guid.Empty, DisplayText = "Not Shown" }); postalAddressDto.NybAddressDetails = nybDetails; postalAddressDto.RouteDetails = routeDetails; } loggingHelper.LogMethodExit(methodName, LoggerTraceConstants.UnitManagerAPIPriority, LoggerTraceConstants.UnitManagerBusinessServiceMethodExitEventId); return(postalAddressDto); } }