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; public partial class Admin_EditVolumePricingTable : WebBlocks.AdministrativePage { private int VolumePricingTableID { get { return (ViewState["VolumePricingTableID"] == null ? 0 : (int)ViewState["VolumePricingTableID"]); } set { ViewState["VolumePricingTableID"] = value; } } protected void Page_Load(object sender, EventArgs e) { if (!Page.IsPostBack) { if (Request["VolumePricingTableID"] != null) { VolumePricingTableID = Int32.Parse(Request["VolumePricingTableID"]); BindData(); } else { btnDelete.Visible = false; // delete any temporary entries Database.VolumePricingTable_Delete(0); // create our "default" item Database.VolumePricingTableItem_Add(0, 1, 0); // and bind BindVolume(); } } } private void BindData() { DataRow dr = Database.VolumePricingTable_Get(VolumePricingTableID); // load stuff from data row txtName.Text = (string)dr["Name"]; // bind volume table BindVolume(); } private void BindVolume() { DataTable dt = Database.VolumePricingTableItem_GetByVolumePricingTableID(VolumePricingTableID); gvVolume.DataSource = dt; gvVolume.DataBind(); } protected void gvVolume_RowCommand(object sender, GridViewCommandEventArgs e) { if (e.CommandName == "del") { int VolumePricingTableItemID = (int)gvVolume.DataKeys[Int32.Parse((string)e.CommandArgument)].Value; Database.VolumePricingTableItem_Delete(VolumePricingTableItemID); BindVolume(); } } protected void lbAdd_Click(object sender, EventArgs e) { SaveVolume(); Database.VolumePricingTableItem_Add(VolumePricingTableID, 0, 0); BindVolume(); } private void SaveVolume() { foreach (GridViewRow gvr in gvVolume.Rows) { if (gvr.RowType == DataControlRowType.DataRow) { int Quantity = Int32.Parse(((TextBox)gvr.Cells[1].Controls[0]).Text); decimal Price = Decimal.Parse(((TextBox)gvr.Cells[2].Controls[0]).Text); int VolumePricingTableItemID = (int)gvVolume.DataKeys[gvr.RowIndex].Value; Database.VolumePricingTableItem_Update(VolumePricingTableItemID, VolumePricingTableID, Quantity, Price); } } } protected void btnCancel_Click(object sender, EventArgs e) { Response.Redirect("VolumePricingTables.aspx"); } protected void btnDelete_Click(object sender, EventArgs e) { Database.VolumePricingTable_Delete(VolumePricingTableID); Response.Redirect("VolumePricingTables.aspx"); } protected void btnSave_Click(object sender, EventArgs e) { SaveVolume(); if (VolumePricingTableID == 0) Database.VolumePricingTable_Add(txtName.Text); else Database.VolumePricingTable_Update(VolumePricingTableID, txtName.Text); Response.Redirect("VolumePricingTables.aspx"); } }