public AvaTaxResult CancelTax(string companyCode, string docCode, DocumentType docType) { var result = new AvaTaxResult(); var ctr = new CancelTaxRequest { CompanyCode = companyCode, DocCode = docCode, DocType = ConvertDocType(docType), CancelCode = CancelCode.DocDeleted }; var svc = GetTaxServiceProxy(); var ctres = svc.CancelTax(ctr); if (ctres.ResultCode != avt.SeverityLevel.Success) { result.Success = false; result.Messages.Add("CancelTax Failed"); ApplyMessagesToResult(result, ctres.Messages); } else { result.Success = true; } return(result); }
public async Task <CancelTaxResult> CancelTax(CancelTaxRequest cancelTaxRequest) { // http://developer.avalara.com/api-docs/designing-your-integration/canceltax // DocCode/CompanyCode is the recommended transaction identification method, DocID not recommended. return(await _taxSvc.CancelTax(cancelTaxRequest)); }
public async Task CancelTaxTest() { // Header Level Elements // Required Header Level Elements var configSection = ConfigurationHelper.GetConfiguration(); string accountNumber = configSection["accountNumber"]; string licenseKey = configSection["licenseKey"]; string serviceUrl = configSection["serviceUrl"]; ITaxService taxSvc = new TaxService(accountNumber, licenseKey, serviceUrl); CancelTaxRequest cancelTaxRequest = new CancelTaxRequest { CompanyCode = "APITrialCompany", DocType = DocType.SalesInvoice, DocCode = "INV001", CancelCode = CancelCode.DocVoided }; // Required Request Parameters CancelTaxResult cancelTaxResult = await taxSvc.CancelTax(cancelTaxRequest); // Print results Console.WriteLine("CancelTaxTest Result: {0}", cancelTaxResult.ResultCode); if (!cancelTaxResult.ResultCode.Equals(SeverityLevel.Success)) { foreach (Message message in cancelTaxResult.Messages) { Console.WriteLine(message.Summary); } } }
public static CancelTaxResult Execute(bool inProduction, string strOCN, out string summary) { summary = ""; TaxServiceWrapper taxSvcWrapper = new TaxServiceWrapper(); TaxSvc taxSvc = taxSvcWrapper.GetTaxSvcInstance(inProduction); CancelTaxRequest cancelTaxRequest = new CancelTaxRequest(); // Required Request Parameters cancelTaxRequest.CompanyCode = Properties.Settings.Default.CompanyCode; cancelTaxRequest.DocType = DocumentType.SalesInvoice; cancelTaxRequest.DocCode = strOCN; cancelTaxRequest.CancelCode = CancelCode.DocVoided; CancelTaxResult cancelTaxResult = taxSvc.CancelTax(cancelTaxRequest); if (!cancelTaxResult.ResultCode.Equals(SeverityLevel.Success)) { foreach (Message message in cancelTaxResult.Messages) { summary = message.Summary; } } return(cancelTaxResult); }
// This calls CancelTax to void a transaction specified in taxreq public async Task <CancelTaxResult> CancelTax(CancelTaxRequest cancelTaxRequest) { // Convert the request to XML XmlSerializerNamespaces namesp = new XmlSerializerNamespaces(); namesp.Add(string.Empty, string.Empty); XmlWriterSettings settings = new XmlWriterSettings { OmitXmlDeclaration = true }; XmlSerializer x = new XmlSerializer(cancelTaxRequest.GetType()); StringBuilder sb = new StringBuilder(); x.Serialize(XmlWriter.Create(sb, settings), cancelTaxRequest, namesp); XmlDocument doc = new XmlDocument(); doc.LoadXml(sb.ToString()); // Call the service Uri address = new Uri(_svcUrl + "tax/cancel"); var request = HttpHelper.CreateRequest(address, _accountNumber, _license); request.Method = "POST"; request.ContentType = "text/xml"; //request.ContentLength = sb.Length; Stream newStream = await request.GetRequestStreamAsync(); newStream.Write(Encoding.ASCII.GetBytes(sb.ToString()), 0, sb.Length); CancelTaxResponse cancelResponse = new CancelTaxResponse(); try { WebResponse response = await request.GetResponseAsync(); 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 { ResultCode = cancelResponse.ResultCode, Messages = cancelResponse.Messages }; } } return(cancelResponse.CancelTaxResult); }
private void buttonCancelTax_Click(object sender, EventArgs e) { try { //############################################################################## //### 1st WE CREATE THE REQUEST OBJECT FOR DOCUMENT THAT SHOULD BE CANCELLED ### //############################################################################## CancelTaxRequest cancelTaxRequest = new CancelTaxRequest(); //########################################################### //### 2nd WE LOAD THE REQUEST-LEVEL DATA INTO THE REQUEST ### //########################################################### cancelTaxRequest.CancelCode = (CancelCode)comboCancelCode.SelectedItem; cancelTaxRequest.CompanyCode = textCompanyCode.Text; cancelTaxRequest.DocType = (DocumentType)comboDocType.SelectedItem; cancelTaxRequest.DocCode = textDocCode.Text; //############################################################################################## //### 3rd WE INVOKE THE CANCELTAX() METHOD OF THE TAXSVC OBJECT AND GET BACK A RESULT OBJECT ### //############################################################################################## Util.PreMethodCall(this, lblStatus); TaxSvc taxSvc = new TaxSvc(); ((formMain)this.Owner).SetConfig(taxSvc); //set the Url and Security configuration _cancelTaxResult = taxSvc.CancelTax(cancelTaxRequest); Util.PostMethodCall(this, lblStatus); //##################################### //### 4th WE READ THE RESULT OBJECT ### //##################################### lblResultCode.Text = _cancelTaxResult.ResultCode.ToString(); Util.SetMessageLabelText(lblResultMsg, _cancelTaxResult); cancelTaxRequest = null; taxSvc = null; } catch (Exception ex) { Util.ShowError(ex); } finally { Util.PostMethodCall(this, lblStatus); } }
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); }
private void VoidRefunds(Order order) { TaxSvc taxService = CreateTaxService(); int numberOfRefundTransactions = (order.ChildOrderNumbers ?? String.Empty).Split(new char[] { ',' }, StringSplitOptions.RemoveEmptyEntries).Length; for (int i = 1; i <= numberOfRefundTransactions; i++) { CancelTaxRequest cancelTaxRequest = new CancelTaxRequest { CancelCode = CancelCode.DocVoided, CompanyCode = CompanyCode, DocCode = order.OrderNumber.ToString() + "." + i.ToString(), DocType = DocumentType.ReturnInvoice, }; var cancelTaxResult = taxService.CancelTax(cancelTaxRequest); foreach (Message message in cancelTaxResult.Messages) { LogErrorMessage(message); } } }
public static void Test() { string accountNumber = ConfigurationManager.AppSettings["AvaTax:AccountNumber"]; string licenseKey = ConfigurationManager.AppSettings["AvaTax:LicenseKey"]; string serviceURL = ConfigurationManager.AppSettings["AvaTax:ServiceUrl"]; TaxSvc taxSvc = new TaxSvc(); // Header Level Parameters // Required Header Parameters taxSvc.Configuration.Security.Account = accountNumber; taxSvc.Configuration.Security.License = licenseKey; taxSvc.Configuration.Url = serviceURL; taxSvc.Configuration.ViaUrl = serviceURL; taxSvc.Profile.Client = "AvaTaxSample"; // Optional Header Parameters taxSvc.Profile.Name = "Development"; CancelTaxRequest cancelTaxRequest = new CancelTaxRequest(); // Required Request Parameters cancelTaxRequest.CompanyCode = "APITrialCompany"; cancelTaxRequest.DocType = DocumentType.SalesInvoice; cancelTaxRequest.DocCode = "INV001"; cancelTaxRequest.CancelCode = CancelCode.DocVoided; CancelTaxResult cancelTaxResult = taxSvc.CancelTax(cancelTaxRequest); Console.WriteLine("CancelTaxTest Result: " + cancelTaxResult.ResultCode.ToString()); if (!cancelTaxResult.ResultCode.Equals(SeverityLevel.Success)) { foreach (Message message in cancelTaxResult.Messages) { Console.WriteLine(message.Summary); } } }
public void VoidTax(Order order) { if (!Enabled) { throw new InvalidOperationException("AvalaraInactiveException"); } CancelTaxRequest cancelTaxRequest = new CancelTaxRequest { CancelCode = CancelCode.DocVoided, CompanyCode = CompanyCode, DocType = DocumentType.SalesInvoice, DocCode = order.OrderNumber.ToString(), }; TaxSvc taxService = CreateTaxService(); CancelTaxResult cancelTaxResult = taxService.CancelTax(cancelTaxRequest); foreach (Message message in cancelTaxResult.Messages) { LogErrorMessage(message); } }