protected void SaveButton_Click(object sender, EventArgs e) { _TaxCode.TaxRules.Clear(); foreach (GridViewRow gvr in TaxRuleGrid.Rows) { int taxRuleId = (int)TaxRuleGrid.DataKeys[gvr.DataItemIndex].Value; TaxRule taxRule = TaxRuleDataSource.Load(taxRuleId); CheckBox Linked = gvr.FindControl("Linked") as CheckBox; if (Linked.Checked) { if (taxRule.TaxCodes.IndexOf(_TaxCode) < 0) { taxRule.TaxCodes.Add(_TaxCode); taxRule.Save(); } _TaxCode.TaxRules.Add(taxRule); } else { if (taxRule.TaxCodes.IndexOf(_TaxCode) > -1) { taxRule.TaxCodes.Remove(_TaxCode); taxRule.Save(); } } } SavedMessage.Visible = true; SavedMessage.Text = string.Format(SavedMessage.Text, LocaleHelper.LocalNow); }
protected void Page_Load(object sender, EventArgs e) { _TaxRuleId = AlwaysConvert.ToInt(Request.QueryString["TaxRuleId"]); _TaxRule = TaxRuleDataSource.Load(_TaxRuleId); if (_TaxRule == null) { Response.Redirect("TaxRules.aspx"); } Caption.Text = string.Format(Caption.Text, _TaxRule.Name); if (!Page.IsPostBack) { Name.Text = _TaxRule.Name; foreach (ListItem taxCodeItem in this.TaxCodes.Items) { TaxCode taxCode = TaxCodeDataSource.Load(AlwaysConvert.ToInt(taxCodeItem.Value)); taxCodeItem.Selected = (_TaxRule.TaxCodes.IndexOf(taxCode) > -1); } TaxRate.Text = string.Format("{0:0.00##}", _TaxRule.TaxRate); ZoneRule.SelectedIndex = (_TaxRule.ShipZones.Count == 0) ? 0 : 1; foreach (ShipZone item in _TaxRule.ShipZones) { ListItem listItem = ZoneList.Items.FindByValue(item.Id.ToString()); if (listItem != null) { listItem.Selected = true; } } UseBillingAddress.SelectedIndex = _TaxRule.UseBillingAddress ? 1 : 0; GroupRule.SelectedIndex = _TaxRule.GroupRuleId; foreach (Group item in _TaxRule.Groups) { ListItem listItem = GroupList.Items.FindByValue(item.Id.ToString()); if (listItem != null) { listItem.Selected = true; } } ListItem selectedCode = TaxCode.Items.FindByValue(_TaxRule.TaxCodeId.ToString()); if (selectedCode != null) { selectedCode.Selected = true; } Priority.Text = _TaxRule.Priority.ToString(); ListItem roundingRuleItem = RoundingRule.Items.FindByValue(_TaxRule.RoundingRuleId.ToString()); if (roundingRuleItem != null) { RoundingRule.SelectedItem.Selected = false; roundingRuleItem.Selected = true; } PerUnitCalculation.Checked = _TaxRule.UsePerItemTax; } }
public static int GetOrderItemTaxPriority(OrderItem oi) { if (oi.OrderItemType == OrderItemType.Tax) { //THIS IS A TAX, RETURN THE TAX RULE PRIORITY //SKU OF ITEM SHOULD BE TAX RULE ID int taxRuleId = AlwaysConvert.ToInt(oi.Sku); TaxRule rule = TaxRuleDataSource.Load(taxRuleId); if (rule != null) { return(rule.Priority); } } return(-1); }