Ejemplo n.º 1
0
        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);
            }
        }
Ejemplo n.º 3
0
        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);
            }
        }
Ejemplo n.º 5
0
        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));
            }
        }
Ejemplo n.º 6
0
        //[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);
        }