private void LoadTaxRates() { TaxController controller = new TaxController(); TaxInfo taxInfo = controller.GetTaxRates(PortalId); if (taxInfo != null) { cbEnableTax.Checked = taxInfo.ShowTax; txtDefaultTaxRate.Text = taxInfo.DefaultTaxRate < 0 ? "" : taxInfo.DefaultTaxRate.ToString("0.00"); BindTaxRates(taxInfo.CountryTaxes); } IsReady = true; }
private void SaveTaxRates() { if (!Page.IsValid) { return; } bool enableTax = cbEnableTax.Checked; decimal defaultTaxRate = Null.NullDecimal; if (enableTax) { defaultTaxRate = Decimal.Parse(txtDefaultTaxRate.Text); } CountryTaxRates countryTaxRates = (CountryTaxRates)ViewState["Store_CountryTaxRates"]; List <int> deletedItems = new List <int>(); foreach (DataGridItem gridItem in grdCountryTaxRates.Items) { CheckBox chkDelete = (CheckBox)gridItem.FindControl("chkDelete"); if (chkDelete != null && chkDelete.Checked) { deletedItems.Add(gridItem.ItemIndex); } else { TextBox txtTaxRate = (TextBox)gridItem.FindControl("txtTaxRate"); if (txtTaxRate != null) { string textTaxRate = txtTaxRate.Text; if (!string.IsNullOrEmpty(textTaxRate)) { decimal taxRate; if (decimal.TryParse(textTaxRate, out taxRate)) { countryTaxRates.TaxRates[gridItem.ItemIndex].TaxRate = taxRate; } } } } } if (deletedItems.Count > 0) { deletedItems.Reverse(); foreach (int deletedItem in deletedItems) { countryTaxRates.TaxRates.RemoveAt(deletedItem); } } countryTaxRates.TaxRates.Sort(); string taxRates = ProviderSettingsHelper.SerializeSettings(countryTaxRates, typeof(CountryTaxRates)); TaxController controller = new TaxController(); controller.UpdateTaxRates(PortalId, defaultTaxRate, cbEnableTax.Checked, taxRates); BindTaxRates(countryTaxRates); }