示例#1
0
        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;
        }
示例#2
0
        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);
        }