using System; using System.Data; using System.Configuration; using System.Collections; using System.Web; using System.Web.Security; using System.Web.UI; using System.Web.UI.WebControls; using System.Web.UI.WebControls.WebParts; using System.Web.UI.HtmlControls; using ConfigurationControls; public partial class Admin_Configuration : WebBlocks.AdministrativePage { protected void Page_Load(object sender, EventArgs e) { if (!IsPostBack) initialize(); } private void initialize() { // load in values by traversing control tree foreach (Control c in pnlConfig.Controls) { if (c is IConfigurationControl) { // bind options first, if they need it IConfigurationControl ctl = (IConfigurationControl)c; if (ctl is ConfigCheckboxList || ctl is ConfigDropDown) { // bind options, if it has them string opts = Database.Variables_GetOptions(ctl.Variable); if (opts != null) foreach (string s in opts.Split(',')) ((ListControl)ctl).Items.Add(new ListItem(s)); } try { ctl.FieldValue = Configuration.Get(ctl.Variable); } catch { throw new Exception(ctl.Variable + " is not set"); } } } // Grab data from config /* if (conf["Shipping.Method"] == "FlatRate") { //txtBaseCost.Text = conf["Shipping.FlatRate.BaseCost"]; //txtCostPerPound.Text = conf["Shipping.FlatRate.CostPerPound"]; //txtPounds.Text = conf["Shipping.FlatRate.PoundLimit"]; //txtInternational.Text = conf["Shipping.FlatRate.InternationalOrder"]; txtCap.Text = conf["Shipping.FlatRate.Cap"]; } txtFreeShipping.Text = conf["Shipping.FreeShippingAmount"]; txtTaxRate.Text = conf["Tax.Rate"]; txtTaxState.Text = conf["Tax.State"]; */ } protected void btnSave_Click(object sender, EventArgs e) { foreach (Control c in pnlConfig.Controls) { if (c is IConfigurationControl) { IConfigurationControl ctl = (IConfigurationControl)c; Configuration.Set(ctl.Variable, ctl.FieldValue); } } Configuration.CommitToDatabase(); Page.ClientScript.RegisterStartupScript(typeof(string), "Saved", ""); } protected void btnCancel_Click(object sender, EventArgs e) { initialize(); } }