private AddressResultsList GetAddresssList(string postCode)
        {
            AddressResultsList addressResultsList;

            if (!string.IsNullOrEmpty(postCode))
            {
                var pService = new PostcodeEverywhereSoapClient();
                try
                {
                    addressResultsList = pService.AddressList(_serialNumber, _password, _userId, postCode, _property,
                                                              _countyType);
                }
                catch (TimeoutException)
                {
                    throw new TimeoutException("Remote service doesn't answer");
                }
                finally
                {
                }
            }
            else
            {
                addressResultsList = new AddressResultsList
                {
                    intTotalRecordsFound = 1,
                    lstAddresses         = new[] { "Error: Empty postcode" }
                };
            }

            return(addressResultsList);
        }
        public Address AddressLookup(string postCode)
        {
            AddressResultsList addressResultsList = GetAddresssList(postCode);

            if (addressResultsList.intTotalRecordsFound == 1 &&
                (addressResultsList.lstAddresses[0].StartsWith("Error: ") ||
                 addressResultsList.lstAddresses[0].StartsWith("Not Authenticated")
                ))
            {
                return(new Address {
                    ErrorMessage = addressResultsList.lstAddresses[0], PostCode = postCode
                });
            }
            return(_ukAddressProviderParser.GetAddressData(addressResultsList.lstAddresses));
        }