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
}