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
}