public static void Test() { // Header Level Elements // Required Header Level Elements string accountNumber = ConfigurationManager.AppSettings["AvaTax:AccountNumber"]; string licenseKey = ConfigurationManager.AppSettings["AvaTax:LicenseKey"]; string serviceURL = ConfigurationManager.AppSettings["AvaTax:ServiceUrl"]; TaxSvc taxSvc = new TaxSvc(accountNumber, licenseKey, serviceURL); CancelTaxRequest cancelTaxRequest = new CancelTaxRequest(); // Required Request Parameters cancelTaxRequest.CompanyCode = "APITrialCompany"; cancelTaxRequest.DocType = DocType.SalesInvoice; cancelTaxRequest.DocCode = "INV001"; cancelTaxRequest.CancelCode = CancelCode.DocVoided; CancelTaxResult cancelTaxResult = taxSvc.CancelTax(cancelTaxRequest); // Print results Console.WriteLine("CancelTaxTest Result: " + cancelTaxResult.ResultCode.ToString()); if (!cancelTaxResult.ResultCode.Equals(SeverityLevel.Success)) { foreach (Message message in cancelTaxResult.Messages) { Console.WriteLine(message.Summary); } } }
public static void Test() { // Header Level Elements // Required Header Level Elements string accountNumber = "1234567890"; string licenseKey = "A1B2C3D4E5F6G7H8"; string serviceURL = "https://development.avalara.net"; TaxSvc taxSvc = new TaxSvc(accountNumber, licenseKey, serviceURL); CancelTaxRequest cancelTaxRequest = new CancelTaxRequest(); // Required Request Parameters cancelTaxRequest.CompanyCode = "APITrialCompany"; cancelTaxRequest.DocType = DocType.SalesInvoice; cancelTaxRequest.DocCode = "INV001"; cancelTaxRequest.CancelCode = CancelCode.DocVoided; CancelTaxResult cancelTaxResult = taxSvc.CancelTax(cancelTaxRequest); // Print results Console.WriteLine("CancelTaxTest Result: " + cancelTaxResult.ResultCode.ToString()); if (!cancelTaxResult.ResultCode.Equals(SeverityLevel.Success)) { foreach (Message message in cancelTaxResult.Messages) { Console.WriteLine(message.Summary); } } }
//This calls CancelTax to void a transaction specified in taxreq public static CancelTaxResult Cancel(GetTaxRequest taxReq, string acctNum, string licKey, string companyCode, string webAddr) { CancelTaxRequest req = new CancelTaxRequest(); req.CompanyCode = taxReq.CompanyCode; req.DocCode = taxReq.DocCode; req.DocType = taxReq.DocType; req.CancelCode = CancelCode.DocVoided; //Convert the request to XML XmlSerializerNamespaces namesp = new XmlSerializerNamespaces(); namesp.Add("", ""); XmlWriterSettings settings = new XmlWriterSettings(); settings.OmitXmlDeclaration = true; XmlSerializer x = new XmlSerializer(req.GetType()); StringBuilder sb = new StringBuilder(); x.Serialize(XmlTextWriter.Create(sb, settings), req, namesp); XmlDocument doc = new XmlDocument(); doc.LoadXml(sb.ToString()); //doc.Save(@"cancel_tax_request.xml"); //Call the service Uri address = new Uri(webAddr + "tax/cancel"); HttpWebRequest request = WebRequest.Create(address) as HttpWebRequest; request.Headers.Add(HttpRequestHeader.Authorization, "Basic " + Convert.ToBase64String(ASCIIEncoding.ASCII.GetBytes(acctNum + ":" + licKey))); request.Method = "POST"; request.ContentType = "text/xml"; request.ContentLength = sb.Length; Stream newStream = request.GetRequestStream(); newStream.Write(ASCIIEncoding.ASCII.GetBytes(sb.ToString()), 0, sb.Length); CancelTaxResponse cancelResponse = new CancelTaxResponse(); try { WebResponse response = request.GetResponse(); XmlSerializer r = new XmlSerializer(cancelResponse.GetType()); cancelResponse = (CancelTaxResponse)r.Deserialize(response.GetResponseStream()); } catch (WebException ex) { XmlSerializer r = new XmlSerializer(cancelResponse.GetType()); cancelResponse = (CancelTaxResponse)r.Deserialize(((HttpWebResponse)ex.Response).GetResponseStream()); if (cancelResponse.ResultCode.Equals(SeverityLevel.Error)) //If the error is returned at the cancelResponse level, translate it to the cancelResult. { cancelResponse.CancelTaxResult = new CancelTaxResult(); cancelResponse.CancelTaxResult.ResultCode = cancelResponse.ResultCode; cancelResponse.CancelTaxResult.Messages = cancelResponse.Messages; } } return(cancelResponse.CancelTaxResult); }
// This calls CancelTax to void a transaction specified in taxreq public CancelTaxResult CancelTax(CancelTaxRequest cancelTaxRequest) { var jsonRequest = JsonConvert.SerializeObject(cancelTaxRequest); // Call the service var address = new Uri(svcURL + "tax/cancel"); var request = WebRequest.Create(address) as HttpWebRequest; request.Headers.Add(HttpRequestHeader.Authorization, "Basic " + Convert.ToBase64String(ASCIIEncoding.ASCII.GetBytes(accountNum + ":" + license))); request.Method = "POST"; request.ContentType = "text/json"; request.ContentLength = jsonRequest.Length; var newStream = request.GetRequestStream(); newStream.Write(ASCIIEncoding.ASCII.GetBytes(jsonRequest), 0, jsonRequest.Length); var cancelResponse = new CancelTaxResult(); try { using (var response = (HttpWebResponse)request.GetResponse()) { // Get the stream containing content returned by the server. newStream = response.GetResponseStream(); // Open the stream using a StreamReader for easy access. using (var reader = new StreamReader(newStream)) { cancelResponse = JsonConvert.DeserializeObject <CancelTaxResult>(reader.ReadToEnd()); } } } catch (WebException ex) { if (ex.Response == null) { cancelResponse.ResultCode = SeverityLevel.Error; cancelResponse.Messages = new[] { new Message { Severity = SeverityLevel.Error, Summary = ex.Message } }; return(cancelResponse); } using (WebResponse response = ex.Response) { using (var data = response.GetResponseStream()) { // Open the stream using a StreamReader for easy access. using (var reader = new StreamReader(data)) { cancelResponse = JsonConvert.DeserializeObject <CancelTaxResult>(reader.ReadToEnd()); } } } } return(cancelResponse); }
// This calls CancelTax to void a transaction specified in taxreq public CancelTaxResult CancelTax(CancelTaxRequest cancelTaxRequest) { // Convert the request to XML XmlSerializerNamespaces namesp = new XmlSerializerNamespaces(); namesp.Add(string.Empty, string.Empty); XmlWriterSettings settings = new XmlWriterSettings(); settings.OmitXmlDeclaration = true; XmlSerializer x = new XmlSerializer(cancelTaxRequest.GetType()); StringBuilder sb = new StringBuilder(); x.Serialize(XmlTextWriter.Create(sb, settings), cancelTaxRequest, namesp); XmlDocument doc = new XmlDocument(); doc.LoadXml(sb.ToString()); // Call the service Uri address = new Uri(svcURL + "tax/cancel"); HttpWebRequest request = WebRequest.Create(address) as HttpWebRequest; request.Headers.Add(HttpRequestHeader.Authorization, "Basic " + Convert.ToBase64String(ASCIIEncoding.ASCII.GetBytes(accountNum + ":" + license))); request.Method = "POST"; request.ContentType = "text/xml"; request.ContentLength = sb.Length; Stream newStream = request.GetRequestStream(); newStream.Write(ASCIIEncoding.ASCII.GetBytes(sb.ToString()), 0, sb.Length); CancelTaxResponse cancelResponse = new CancelTaxResponse(); try { WebResponse response = request.GetResponse(); XmlSerializer r = new XmlSerializer(cancelResponse.GetType()); cancelResponse = (CancelTaxResponse)r.Deserialize(response.GetResponseStream()); } catch (WebException ex) { XmlSerializer r = new XmlSerializer(cancelResponse.GetType()); cancelResponse = (CancelTaxResponse)r.Deserialize((ex.Response).GetResponseStream()); // If the error is returned at the cancelResponse level, translate it to the cancelResult. if (cancelResponse.ResultCode.Equals(SeverityLevel.Error)) { cancelResponse.CancelTaxResult = new CancelTaxResult(); cancelResponse.CancelTaxResult.ResultCode = cancelResponse.ResultCode; cancelResponse.CancelTaxResult.Messages = cancelResponse.Messages; } } return(cancelResponse.CancelTaxResult); }
//This calls CancelTax to void a transaction specified in taxreq public static CancelTaxResult Cancel(GetTaxRequest taxReq, string acctNum, string licKey, string companyCode, string webAddr) { CancelTaxRequest req = new CancelTaxRequest(); req.CompanyCode = taxReq.CompanyCode; req.DocCode = taxReq.DocCode; req.DocType = taxReq.DocType; req.CancelCode = CancelCode.DocVoided; //Convert the request to XML XmlSerializerNamespaces namesp = new XmlSerializerNamespaces(); namesp.Add("", ""); XmlWriterSettings settings = new XmlWriterSettings(); settings.OmitXmlDeclaration = true; XmlSerializer x = new XmlSerializer(req.GetType()); StringBuilder sb = new StringBuilder(); x.Serialize(XmlTextWriter.Create(sb, settings), req, namesp); XmlDocument doc = new XmlDocument(); doc.LoadXml(sb.ToString()); //doc.Save(@"cancel_tax_request.xml"); //Call the service Uri address = new Uri(webAddr + "tax/cancel"); HttpWebRequest request = WebRequest.Create(address) as HttpWebRequest; request.Headers.Add(HttpRequestHeader.Authorization, "Basic " + Convert.ToBase64String(ASCIIEncoding.ASCII.GetBytes(acctNum + ":" + licKey))); request.Method = "POST"; request.ContentType = "text/xml"; request.ContentLength = sb.Length; Stream newStream = request.GetRequestStream(); newStream.Write(ASCIIEncoding.ASCII.GetBytes(sb.ToString()), 0, sb.Length); CancelTaxResponse cancelResponse = new CancelTaxResponse(); try { WebResponse response = request.GetResponse(); XmlSerializer r = new XmlSerializer(cancelResponse.GetType()); cancelResponse = (CancelTaxResponse)r.Deserialize(response.GetResponseStream()); } catch (WebException ex) { XmlSerializer r = new XmlSerializer(cancelResponse.GetType()); cancelResponse = (CancelTaxResponse)r.Deserialize(((HttpWebResponse)ex.Response).GetResponseStream()); if(cancelResponse.ResultCode.Equals(SeverityLevel.Error)) //If the error is returned at the cancelResponse level, translate it to the cancelResult. { cancelResponse.CancelTaxResult = new CancelTaxResult(); cancelResponse.CancelTaxResult.ResultCode = cancelResponse.ResultCode; cancelResponse.CancelTaxResult.Messages = cancelResponse.Messages; } } return cancelResponse.CancelTaxResult; }
// This calls CancelTax to void a transaction specified in taxreq public CancelTaxResult CancelTax(CancelTaxRequest cancelTaxRequest) { // Convert the request to XML XmlSerializerNamespaces namesp = new XmlSerializerNamespaces(); namesp.Add(string.Empty, string.Empty); XmlWriterSettings settings = new XmlWriterSettings(); settings.OmitXmlDeclaration = true; XmlSerializer x = new XmlSerializer(cancelTaxRequest.GetType()); StringBuilder sb = new StringBuilder(); x.Serialize(XmlTextWriter.Create(sb, settings), cancelTaxRequest, namesp); XmlDocument doc = new XmlDocument(); doc.LoadXml(sb.ToString()); // Call the service Uri address = new Uri(svcURL + "tax/cancel"); HttpWebRequest request = WebRequest.Create(address) as HttpWebRequest; request.Headers.Add(HttpRequestHeader.Authorization, "Basic " + Convert.ToBase64String(ASCIIEncoding.ASCII.GetBytes(accountNum + ":" + license))); request.Method = "POST"; request.ContentType = "text/xml"; request.ContentLength = sb.Length; Stream newStream = request.GetRequestStream(); newStream.Write(ASCIIEncoding.ASCII.GetBytes(sb.ToString()), 0, sb.Length); CancelTaxResponse cancelResponse = new CancelTaxResponse(); try { WebResponse response = request.GetResponse(); XmlSerializer r = new XmlSerializer(cancelResponse.GetType()); cancelResponse = (CancelTaxResponse)r.Deserialize(response.GetResponseStream()); } catch (WebException ex) { XmlSerializer r = new XmlSerializer(cancelResponse.GetType()); cancelResponse = (CancelTaxResponse)r.Deserialize(((HttpWebResponse)ex.Response).GetResponseStream()); // If the error is returned at the cancelResponse level, translate it to the cancelResult. if (cancelResponse.ResultCode.Equals(SeverityLevel.Error)) { cancelResponse.CancelTaxResult = new CancelTaxResult(); cancelResponse.CancelTaxResult.ResultCode = cancelResponse.ResultCode; cancelResponse.CancelTaxResult.Messages = cancelResponse.Messages; } } return cancelResponse.CancelTaxResult; }
public static CancelTaxRequest ToAvaTaxCancelRequest(this VirtoCommerce.Domain.Order.Model.CustomerOrder order, string companyCode, CancelCode cancelCode) { if (order.Addresses != null && order.Addresses.Any() && order.Items != null && order.Items.Any()) { // Document Level Elements // Required Request Parameters var cancelTaxRequest = new CancelTaxRequest { CompanyCode = companyCode, DocCode = order.Number, DocType = DocType.SalesInvoice, CancelCode = cancelCode }; return cancelTaxRequest; } return null; }
// This calls CancelTax to void a transaction specified in taxreq public CancelTaxResult CancelTax(CancelTaxRequest cancelTaxRequest) { var jsonRequest = JsonConvert.SerializeObject(cancelTaxRequest); // Call the service var address = new Uri(svcURL + "tax/cancel"); var request = WebRequest.Create(address) as HttpWebRequest; request.Headers.Add(HttpRequestHeader.Authorization, "Basic " + Convert.ToBase64String(ASCIIEncoding.ASCII.GetBytes(accountNum + ":" + license))); request.Method = "POST"; request.ContentType = "text/json"; request.ContentLength = jsonRequest.Length; var newStream = request.GetRequestStream(); newStream.Write(ASCIIEncoding.ASCII.GetBytes(jsonRequest), 0, jsonRequest.Length); var cancelResponse = new CancelTaxResult(); try { using (var response = (HttpWebResponse)request.GetResponse()) { // Get the stream containing content returned by the server. newStream = response.GetResponseStream(); // Open the stream using a StreamReader for easy access. using (var reader = new StreamReader(newStream)) { cancelResponse = JsonConvert.DeserializeObject<CancelTaxResult>(reader.ReadToEnd()); } } } catch (WebException ex) { using (WebResponse response = ex.Response) { using (var data = response.GetResponseStream()) { // Open the stream using a StreamReader for easy access. using (var reader = new StreamReader(data)) { cancelResponse = JsonConvert.DeserializeObject<CancelTaxResult>(reader.ReadToEnd()); } } } } return cancelResponse; }