using framework_business; using framework_library; using System; using System.Collections; using System.Collections.Generic; using System.Data; using System.Linq; using System.Reflection; using System.Web; using System.Web.UI; using System.Web.UI.WebControls; public partial class controls_admin_surfaceLookupCategories : System.Web.UI.UserControl { #region methods /// /// Method to Bind Category Data /// private void BindCategoryData() { try { ArrayList pickList = new ArrayList(); pickList = xData.GetTypedByCriteriaSpecific("recId", typeof(oSurfaceLookupCategory), "", "", "lookupCategory"); rptPicklist.DataSource = pickList; rptPicklist.DataBind(); } catch (Exception ex) { exception.HandleException("surfaceLookupCategories", MethodBase.GetCurrentMethod().Name, ex, Session["user"]); Response.Redirect("/error", false); } } /// /// Populate Form Values /// /// private void PopulatePageFormValues(ref oSurfaceLookupCategory _lookup) { try { txtCategory.Value = _lookup.lookupCategory; chkActiveCategory.Checked = _lookup.isActive; } catch (Exception ex) { exception.HandleException("surfaceLookupCategories", MethodBase.GetCurrentMethod().Name, ex, 0); Response.Redirect("/error", false); } } /// /// Save Form Values /// /// private void SavePageFormValues(ref oSurfaceLookupCategory _lookup) { try { _lookup.lookupCategory = txtCategory.Value; _lookup.isActive = chkActiveCategory.Checked; } catch (Exception ex) { exception.HandleException("surfaceLookupCategories", MethodBase.GetCurrentMethod().Name, ex, 0); Response.Redirect("/error", false); } } /// /// Method to Toggle Panels /// /// private void TogglePanels(string panelName) { switch (panelName) { case "pnlCategory": pnlCategory.Visible = true; pnlCategoryList.Visible = false; break; case "pnlCategoryList": pnlCategory.Visible = false; pnlCategoryList.Visible = true; break; } //clear result pnlResult.Visible = false; } #endregion #region events /// /// Page Load Event /// /// /// protected void Page_Load(object sender, EventArgs e) { try { if (!Page.IsPostBack) { BindCategoryData(); } } catch (Exception ex) { exception.HandleException("surfaceLookupCategories", MethodBase.GetCurrentMethod().Name, ex, Session["user"]); Response.Redirect("/error", false); } } protected void btnNewCategory_Click(object sender, EventArgs e) { try { //show Content Specific TogglePanels("pnlCategory"); Session["categoryId"] = 0; utils.disposeSession("category"); oSurfaceLookupCategory lookupCat = new oSurfaceLookupCategory(); PopulatePageFormValues(ref lookupCat); } catch (Exception ex) { exception.HandleException("surfaceLookupCategories", MethodBase.GetCurrentMethod().Name, ex, Session["user"]); Response.Redirect("/error", false); } } /// /// Edit the lookup Category /// /// /// protected void lnkEdit_Click(object sender, EventArgs e) { oSurfaceLookupCategory _lookupCategory = new oSurfaceLookupCategory(); ArrayList lookList = new ArrayList(); try { if (sender.GetType() == typeof(LinkButton)) { // int recId = int.Parse(((LinkButton)sender).CommandArgument); if (recId > 0) { Session["categoryId"] = recId; //get lookup lookList = xData.GetTypedByCriteriaSpecific("recId", typeof(oSurfaceLookupCategory), "recId", recId.ToString()); //enumerate list foreach (oSurfaceLookupCategory look in lookList) { //assign object _lookupCategory = look; //populate page form PopulatePageFormValues(ref _lookupCategory); Session["category"] = _lookupCategory; break; } //show Form TogglePanels("pnlCategory"); } } } catch (Exception ex) { exception.HandleException("surfaceLookupCategories", MethodBase.GetCurrentMethod().Name, ex, Session["user"]); Response.Redirect("/error", false); } } /// /// Remove the Lookuip /// /// /// protected void lnkRemove_Click(object sender, EventArgs e) { try { if (sender.GetType() == typeof(LinkButton)) { // int recId = int.Parse(((LinkButton)sender).CommandArgument); //Delete look if (xData.DeleteTyped("recId", recId.ToString(), typeof(oSurfaceLookupCategory))) { //rebind lookup grid BindCategoryData(); pnlResult.Visible = true; //display successful result lblResult.Text = "the selected item was deleted successfully."; } } } catch (Exception ex) { exception.HandleException("surfaceLookupCategories", MethodBase.GetCurrentMethod().Name, ex, Session["user"]); Response.Redirect("/error", false); } } /// /// Cancel /// /// /// protected void btnCancel_Click(object sender, EventArgs e) { try { Session["categoryId"] = 0; utils.disposeSession("category"); BindCategoryData(); //show look list TogglePanels("pnlCategoryList"); } catch (Exception ex) { exception.HandleException("surfaceLookupCategories", MethodBase.GetCurrentMethod().Name, ex, Session["user"]); Response.Redirect("/error", false); } } /// /// Save Click /// /// /// protected void btnSave_Click(object sender, EventArgs e) { oSurfaceLookupCategory lookupCategory = new oSurfaceLookupCategory(); try { if (utils.verifySession("category"))//update mode { lookupCategory = (oSurfaceLookupCategory)Session["category"]; //save form values SavePageFormValues(ref lookupCategory); if (xData.UpdateTyped("recId", lookupCategory.recId.ToString(), typeof(oSurfaceLookupCategory), lookupCategory)) { Session["categoryId"] = lookupCategory.recId; Session["category"] = lookupCategory; BindCategoryData(); pnlResult.Visible = true; lblResult.Text = "your changes were updated successfully."; } } else { if (!xData.VerifyExists("recId", typeof(oSurfaceLookupCategory), "lookupCategory", txtCategory.Value)) { //save form values SavePageFormValues(ref lookupCategory); lookupCategory.recId = xData.SaveTyped("recId", typeof(oSurfaceLookupCategory), lookupCategory); if (lookupCategory.recId > 0) { Session["categoryId"] = lookupCategory.recId; Session["category"] = lookupCategory; BindCategoryData(); pnlResult.Visible = true; lblResult.Text = "your item was created successfully."; } } else { pnlResult.Visible = true; lblResult.Text = "A item with this name already exists on the system"; } } } catch (Exception ex) { exception.HandleException("surfaceLookupCategories", MethodBase.GetCurrentMethod().Name, ex, Session["user"]); Response.Redirect("/error", false); } } /// /// Selected Changed Event /// /// /// protected void ddCategorySelect_SelectedIndexChanged(object sender, EventArgs e) { try { BindCategoryData(); } catch (Exception ex) { exception.HandleException("surfaceLookupCategories", MethodBase.GetCurrentMethod().Name, ex, Session["user"]); Response.Redirect("/error", false); } } #endregion }