/// <summary> /// Retrieve a formatted address. /// </summary> /// <param name="identifier">The address identifier.</param> /// <returns>A formatted address.</returns> protected override QAAddressType DoRetrieve(string identifier) { DoGetExampleAddressesRequest request = new DoGetExampleAddressesRequest { QAQueryHeader = this.GetQueryHeader(), QAGetExampleAddresses = new QAGetExampleAddresses { Country = this.CountryCode, Layout = this.Layout } }; QAPortType client = new QAPortTypeClient(); DoGetExampleAddressesResponse response = client.DoGetExampleAddresses(request); QAAddressType address; switch (this.Type) { case "Blank": address = response.QAExampleAddresses[0].Address; break; case "Complex": address = response.QAExampleAddresses[2].Address; break; case "PO Box": address = response.QAExampleAddresses[3].Address; break; default: address = response.QAExampleAddresses[1].Address; break; } return address; }
public QASearchResult ValidateAddress(QASearch search) { _log.Info("InvokeQasService.ValidateAddress() starting ..."); QAPortTypeClient client = null; QASearchResult result = null; try { client = new QAPortTypeClient(); _log.Info("InvokeQasService.ValidateAddress() client created ..."); int retryCount = 0; result = client.DoSearch(search); if (result == null && retryCount == 0) { // retry once result = client.DoSearch(search); retryCount++; } _log.Info("InvokeQasService.ValidateAddress() result was returned from service ..."); } catch (TimeoutException timeout) { _log.Error("InvokeQasService.ValidateAddress() Timeout Exception:" + timeout.Message); ProxyHelper.HandleServiceException(client); } catch (CommunicationException comm) { _log.Error("InvokeQasService.ValidateAddress() Communication Exception:" + comm.Message); ProxyHelper.HandleServiceException(client); } catch (Exception e) { _log.Error("InvokeQasService.ValidateAddress() Exception:" + e.Message); } finally { if (client != null && client.State != CommunicationState.Closed) { ProxyHelper.CloseChannel(client); } } _log.Info("InvokeQasService.ValidateAddress() ending ..."); return(result); }
/// <summary> /// Retrieve a formatted address. /// </summary> /// <param name="identifier">The address identifier.</param> /// <returns>A formatted address.</returns> protected virtual QAAddressType DoRetrieve(string identifier) { DoGetAddressRequest request = new DoGetAddressRequest { QAQueryHeader = this.GetQueryHeader(), QAGetAddress = new QAGetAddress { Layout = this.Layout, Moniker = identifier } }; ////request.QAGetAddress.Country = this.CountryCode; ////request.QAGetExampleAddresses.RequestTag = this.Layout; QAPortType client = new QAPortTypeClient(); DoGetAddressResponse response = client.DoGetAddress(request); return response.Address.QAAddress; }
/// <summary> /// Search for an address. /// </summary> /// <param name="searchTerm">The address search term.</param> /// <returns>A list of addresses that match the search.</returns> protected virtual AddressSearchResultList DoSearch(string searchTerm) { DoSearchRequest request = new DoSearchRequest { QAQueryHeader = this.GetQueryHeader(), QASearch = new QASearch { Country = this.CountryCode, Engine = new EngineType(), Layout = this.Layout, Search = searchTerm } }; QAPortType client = new QAPortTypeClient(); DoSearchResponse searchResponse = client.DoSearch(request); AddressSearchResultList resultList = new AddressSearchResultList(); resultList.AddRange(searchResponse.QASearchResult.QAPicklist.PicklistEntry.Select(entry => new AddressSearchResult { DisplayAddress = entry.Picklist, AddressIdentifier = entry.Moniker })); return resultList; }