public override void Cancel(CommerceBuilder.Orders.Basket basket) { WebTrace.Write("Cancel Existing Taxes"); List <string> uniqueTransactionIds = new List <string>(); Dictionary <string, string> existingTransactions = ClearExistingTaxes(basket); CertiTAX.CertiCalc comm = new CertiTAX.CertiCalc(); foreach (string transactionId in existingTransactions.Values) { if (uniqueTransactionIds.IndexOf(transactionId) < 0) { uniqueTransactionIds.Add(transactionId); comm.Cancel(transactionId, CT_SERIAL_NUMBER, this.ReferredID); } } }
public override void Commit(CommerceBuilder.Orders.Order order) { WebTrace.Write("Commit Existing Taxes"); List <string> uniqueTransactionIds = new List <string>(); CertiTAX.CertiCalc comm = new CertiTAX.CertiCalc(); foreach (OrderItem item in order.Items) { if ((item.OrderItemType == OrderItemType.Tax) && (item.Sku.StartsWith("CT:") && (!item.LineMessage.Equals("Committed")))) { string transactionId = item.Sku.Substring(3); if (uniqueTransactionIds.IndexOf(transactionId) < 0) { CommerceBuilder.Taxes.Providers.CCH.CertiTAX.TaxTransaction tx = new CommerceBuilder.Taxes.Providers.CCH.CertiTAX.TaxTransaction(); uniqueTransactionIds.Add(transactionId); comm.Commit(transactionId, CT_SERIAL_NUMBER, this.ReferredID); item.LineMessage = "Committed"; } } } }