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_surfaceLookups : System.Web.UI.UserControl, IControlBase { #region methods /// /// Event fires from control base /// public void ReloadControl() { try { BindCategorySelect(); BindPicklistData(); upLookup.Update(); } catch (Exception ex) { exception.HandleException("Attachments:", MethodBase.GetCurrentMethod().Name, ex, 0); Response.Redirect("/error", false); } } public void SaveControlData() { } /// /// Bind Category Select /// private void BindCategorySelect() { try { DataTable lookData = xData.GetTypedByCriteriaSpecificTable("recId", typeof(oSurfaceLookupCategory), "isActive", "1", "lookupCategory"); ddCategorySelect.DataSource = lookData; ddCategorySelect.DataTextField = "lookupCategory"; ddCategorySelect.DataValueField = "recId"; ddCategorySelect.DataBind(); ddCategorySelect.Items.Insert(0, new ListItem("select..", "0")); ddCategory.DataSource = lookData; ddCategory.DataTextField = "lookupCategory"; ddCategory.DataValueField = "recId"; ddCategory.DataBind(); ddCategory.Items.Insert(0, new ListItem("select..", "0")); } catch (Exception ex) { exception.HandleException("surfaceLookups", MethodBase.GetCurrentMethod().Name, ex, Session["user"]); Response.Redirect("/error", false); } } /// /// Method to Bind Category Data /// private void BindPicklistData() { int catId = 0; try { ArrayList pickList = new ArrayList(); if (ddCategorySelect.SelectedValue != null) { catId = int.Parse(ddCategorySelect.SelectedValue); pickList = xData.GetTypedByCriteriaSpecific("recId", typeof(oSurfaceLookup), "categoryId", catId.ToString(), "sequence"); } rptPicklist.DataSource = pickList; rptPicklist.DataBind(); } catch (Exception ex) { exception.HandleException("surfaceLookups", MethodBase.GetCurrentMethod().Name, ex, Session["user"]); Response.Redirect("/error", false); } } /// /// Method to Bind the slide Order Drop down /// private void BindSequence() { try { for (int i = 0; i < 20; i++) { //append sequence item ddSequence.Items.Add(new ListItem(i.ToString(), i.ToString())); } } catch (Exception ex) { exception.HandleException("surfaceLookups", MethodBase.GetCurrentMethod().Name, ex, 0); Response.Redirect("/error", false); } } /// /// Populate Form Values /// /// private void PopulatePageFormValues(ref oSurfaceLookup _lookup) { try { if (_lookup.categoryId > 0) ddCategory.SelectedValue = _lookup.categoryId.ToString(); txtDisplay.Value = _lookup.display; txtCustonCode.Value = _lookup.customCode; chkActive.Checked = _lookup.isActive; chkWantsReason.Checked = _lookup.wantsReason; if (_lookup.sequence > 0) ddSequence.SelectedValue = _lookup.sequence.ToString(); } catch (Exception ex) { exception.HandleException("surfaceLookups", MethodBase.GetCurrentMethod().Name, ex, 0); Response.Redirect("/error", false); } } /// /// Save Form Values /// /// private void SavePageFormValues(ref oSurfaceLookup _lookup) { try { _lookup.categoryId = int.Parse(ddCategory.SelectedValue); _lookup.display = txtDisplay.Value; _lookup.customCode = txtCustonCode.Value; _lookup.isActive = chkActive.Checked; _lookup.wantsReason = chkWantsReason.Checked; _lookup.sequence = int.Parse(ddSequence.SelectedValue); } catch (Exception ex) { exception.HandleException("surfaceLookups", MethodBase.GetCurrentMethod().Name, ex, 0); Response.Redirect("/error", false); } } /// /// Method to Toggle Panels /// /// private void TogglePanels(string panelName) { switch (panelName) { case "pnlPicklist": pnlPicklist.Visible = true; pnlPicklistItems.Visible = false; break; case "pnlPicklistItems": pnlPicklist.Visible = false; pnlPicklistItems.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) { BindCategorySelect(); BindPicklistData(); BindSequence(); } } catch (Exception ex) { exception.HandleException("surfaceLookups", MethodBase.GetCurrentMethod().Name, ex, Session["user"]); Response.Redirect("/error", false); } } /// /// New Picklist /// /// /// protected void btnNewPicklist_Click(object sender, EventArgs e) { try { //show Content Specific TogglePanels("pnlPicklist"); Session["lookupId"] = 0; utils.disposeSession("lookup"); oSurfaceLookup lookup = new oSurfaceLookup(); PopulatePageFormValues(ref lookup); ddCategory.SelectedValue = ddCategorySelect.SelectedValue; } catch (Exception ex) { exception.HandleException("surfaceLookups", MethodBase.GetCurrentMethod().Name, ex, Session["user"]); Response.Redirect("/error", false); } } /// /// Edit the lookup /// /// /// protected void lnkEdit_Click(object sender, EventArgs e) { oSurfaceLookup _lookup = new oSurfaceLookup(); ArrayList lookList = new ArrayList(); try { if (sender.GetType() == typeof(LinkButton)) { // int recId = int.Parse(((LinkButton)sender).CommandArgument); if (recId > 0) { Session["lookupId"] = recId; //get lookup lookList = xData.GetTypedByCriteriaSpecific("recId", typeof(oSurfaceLookup), "recId", recId.ToString()); //enumerate list foreach (oSurfaceLookup look in lookList) { //assign object _lookup = look; //populate page form PopulatePageFormValues(ref _lookup); Session["lookup"] = _lookup; break; } //show Form TogglePanels("pnlPicklist"); } } } catch (Exception ex) { exception.HandleException("surfaceLookups", 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(oSurfaceLookup))) { //rebind lookup grid BindPicklistData(); pnlResult.Visible = true; //display successful result lblResult.Text = "the selected item was deleted successfully."; } } } catch (Exception ex) { exception.HandleException("surfaceLookups", MethodBase.GetCurrentMethod().Name, ex, Session["user"]); Response.Redirect("/error", false); } } /// /// Cancel /// /// /// protected void btnCancel_Click(object sender, EventArgs e) { try { Session["lookupId"] = 0; utils.disposeSession("lookup"); BindPicklistData(); //show look list TogglePanels("pnlPicklistItems"); } catch (Exception ex) { exception.HandleException("surfaceLookups", MethodBase.GetCurrentMethod().Name, ex, Session["user"]); Response.Redirect("/error", false); } } /// /// Save Click /// /// /// protected void btnSave_Click(object sender, EventArgs e) { oSurfaceLookup lookup = new oSurfaceLookup(); try { if (utils.verifySession("lookup"))//update mode { lookup = (oSurfaceLookup)Session["lookup"]; //save form values SavePageFormValues(ref lookup); if (xData.UpdateTyped("recId", lookup.recId.ToString(), typeof(oSurfaceLookup), lookup)) { Session["lookupId"] = lookup.recId; Session["lookup"] = lookup; BindPicklistData(); pnlResult.Visible = true; lblResult.Text = "your changes were updated successfully."; } } else { if (!xData.VerifyExists("recId", typeof(oSurfaceLookup), "display,categoryId", txtDisplay.Value + "," + ddCategory.SelectedValue)) { //save form values SavePageFormValues(ref lookup); lookup.recId = xData.SaveTyped("recId", typeof(oSurfaceLookup), lookup); if (lookup.recId > 0) { Session["lookupId"] = lookup.recId; Session["lookup"] = lookup; BindPicklistData(); 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("surfaceLookups", MethodBase.GetCurrentMethod().Name, ex, Session["user"]); Response.Redirect("/error", false); } } /// /// Selected Changed Event /// /// /// protected void ddCategorySelect_SelectedIndexChanged(object sender, EventArgs e) { try { BindPicklistData(); } catch (Exception ex) { exception.HandleException("surfaceLookups", MethodBase.GetCurrentMethod().Name, ex, Session["user"]); Response.Redirect("/error", false); } } #endregion #region category events /// /// Manage Categories /// /// /// protected void btnManageCategories_Click(object sender, EventArgs e) { try { ScriptManager.RegisterStartupScript(this.Page, this.Page.GetType(), "myCategoryModal", "$('#modLookupCategories').modal();", true); } catch (Exception ex) { exception.HandleException("surfaceLookups", MethodBase.GetCurrentMethod().Name, ex, Session["user"]); Response.Redirect("/error", false); } } #endregion }