public bool ValidateAddress_Avalara(CSWeb.AvaTax.Address address) { bool IsValidAddress = false; XmlNode config = null; config = GetTax_AvalaraConfig(); string accountNumber = config.Attributes["accountNumber"].Value; string licenseKey = config.Attributes["licenseKey"].Value; string serviceURL = config.Attributes["serviceURL"].Value; AddressSvc AddressSvc1 = new AddressSvc(accountNumber, licenseKey, serviceURL); // Check for Address Line1 and Zipcode Only address.Line2 = ""; address.City = ""; address.Region = ""; int timeout = getTimeOutAddressVerify(); // This is for Request TimeOut ValidateResult result = AddressSvc1.Validate(address, timeout); if (result.ResultCode.Equals(SeverityLevel.Success) || result.ResultCode.Equals(SeverityLevel.Warning)) { IsValidAddress = true; } else { IsValidAddress = false; } return(IsValidAddress); }
public static void Test() { string accountNumber = ConfigurationManager.AppSettings["AvaTax:AccountNumber"]; string licenseKey = ConfigurationManager.AppSettings["AvaTax:LicenseKey"]; string serviceURL = ConfigurationManager.AppSettings["AvaTax:ServiceUrl"]; AddressSvc addressSvc = new AddressSvc(); // Header Level Parameters // Required Header Parameters addressSvc.Configuration.Security.Account = accountNumber; addressSvc.Configuration.Security.License = licenseKey; addressSvc.Configuration.Url = serviceURL; addressSvc.Configuration.ViaUrl = serviceURL; addressSvc.Profile.Client = "AvaTaxSample"; // Optional Header Parameters addressSvc.Profile.Name = "Development"; ValidateRequest validateRequest = new ValidateRequest(); Address address = new Address(); // Required Request Parameters address.Line1 = "118 N Clark St"; address.City = "Chicago"; address.Region = "IL"; // Optional Request Parameters address.Line2 = "Suite 100"; address.Line3 = "ATTN Accounts Payable"; address.Country = "US"; address.PostalCode = "60602"; validateRequest.Address = address; validateRequest.Coordinates = true; validateRequest.Taxability = true; validateRequest.TextCase = TextCase.Upper; ValidateResult validateResult = addressSvc.Validate(validateRequest); Console.WriteLine("ValidateAddressTest Result: " + validateResult.ResultCode.ToString()); if (!validateResult.ResultCode.Equals(SeverityLevel.Success)) { foreach (Message message in validateResult.Messages) { Console.WriteLine(message.Summary); } } else { Console.WriteLine(validateResult.Addresses[0].Line1 + " " + validateResult.Addresses[0].City + ", " + validateResult.Addresses[0].Region + " " + validateResult.Addresses[0].PostalCode); } }
public async Task <ValidateResult> ValidateAddress(AvaTax.LocationAddress address) { _locationAddress = address; AddressSvc addressSvc = new AddressSvc(_accountNumber, _licenseKey, _serviceUrl); ValidateResult validateResult = addressSvc.Validate(_locationAddress); return(await Task.FromResult(validateResult)); }
private void buttonValidate_Click(object sender, System.EventArgs e) { try { //############################################################################## //### 1st WE CREATE THE REQUEST OBJECT FOR THE ADDRESS THAT NEEDS VALIDATION ### //############################################################################## Address address = new Address(); address.Line1 = textLine1.Text; address.Line2 = textLine2.Text; address.Line3 = textLine3.Text; address.City = textCity.Text; address.Region = textState.Text; address.PostalCode = textZip.Text; address.Country = textCountry.Text; //################################################################################################# //### 2nd WE INVOKE THE VALIDATE() METHOD OF THE ADDRESSSVC OBJECT AND GET BACK A RESULT OBJECT ### //################################################################################################# Util.PreMethodCall(this, lblStatus); AddressSvc addressSvc = new AddressSvc(); SetConfig(addressSvc); //set user-defined config data ValidateRequest request = new ValidateRequest(); request.Address = address; request.TextCase = TextCase.Upper; ValidateResult result = addressSvc.Validate(request); Util.PostMethodCall(this, lblStatus); //####################################### //### 3rd WE REVIEW THE RESULT OBJECT ### //####################################### formResults frm = new formResults(result); frm.Owner = this; frm.ShowDialog(); } catch (SoapException soapEx) { Util.ShowError(soapEx); } catch (Exception ex) { Util.ShowError(ex); } finally { Util.PostMethodCall(this, lblStatus); } }
public string ValidateAddress(Customer customer, Address inputAddress, out Address ResultAddress) { //If coming from address.aspx do not include Avalara-specific string resources bool stringResourceInResult = inputAddress == null ? true : false; ResultAddress = new Address(); if (!Enabled) { throw new InvalidOperationException("AvalaraInactiveException"); } if (!customer.HasAtLeastOneAddress()) { return(AppLogic.GetString("Avalara.AddressValidate.AtLeastOneAddress", customer.LocaleSetting)); } var addrSvc = new AddressSvc(); addrSvc.Configuration.Url = ServiceURL; addrSvc.Configuration.Security.Account = Account; addrSvc.Configuration.Security.License = License; //set address to validate and ensure ResultAddress returns non-blank address var addrReq = new ValidateRequest(); if (inputAddress == null) { addrReq.Address = LoadAvalaraAddress(customer.PrimaryShippingAddressID); ResultAddress.LoadFromDB(customer.PrimaryShippingAddressID); } else { addrReq.Address = LoadAvalaraAddress(inputAddress.AddressID); ResultAddress = inputAddress; } try { //http://developer.avalara.com/api-docs/api-reference/address-validation ValidateResult addressResult = addrSvc.Validate(addrReq); if (addressResult.Messages.Count > 0) { var errorMessages = new StringBuilder(); foreach (Message message in addressResult.Messages) { if (message.Severity == SeverityLevel.Error) { if (stringResourceInResult) { errorMessages.Append(String.Format(AppLogic.GetString("Avalara.AddressValidate.ValidationFailed", customer.LocaleSetting), message.Details)); } errorMessages.Append(message.Details); } } return(errorMessages.ToString()); } else { if (addressResult.ResultCode == SeverityLevel.Success && addressResult.Addresses.Count == 1) { ValidAddress normalizedAddress = addressResult.Addresses[0]; ResultAddress.Address1 = normalizedAddress.Line1; ResultAddress.Address2 = normalizedAddress.Line2; ResultAddress.City = normalizedAddress.City; ResultAddress.State = normalizedAddress.Region; ResultAddress.Zip = normalizedAddress.PostalCode; ResultAddress.Country = AppLogic.GetCountryNameFromTwoLetterISOCode(normalizedAddress.Country); } return(String.Empty); } } catch (Exception ex) { return(String.Format(AppLogic.GetString("Avalara.AddressValidate.Exception", customer.LocaleSetting), ex.Message)); } }
//[Test] public void QATest() { _addressSvc.Configuration.Url = "http://qa.avalara.com/avatax.services"; PingResult pingResult = _addressSvc.Ping(""); Assert.IsTrue(pingResult.Version.StartsWith("4.0.")); Assert.AreEqual(SeverityLevel.Success, pingResult.ResultCode); Address address = new Address(); address.Line1 = "900 Winslow Way"; address.Line2 = "Ste 130"; address.City = "Bainbridge Island"; address.Region = "WA"; address.PostalCode = "98110"; ValidateRequest validateRequest = new ValidateRequest(); validateRequest.Address = address; validateRequest.TextCase = TextCase.Upper; ValidateResult result = _addressSvc.Validate(validateRequest); Assert.AreEqual(SeverityLevel.Success, result.ResultCode); }