using framework_business; using framework_library; using System; using System.Collections; using System.Collections.Generic; using System.Linq; using System.Reflection; using System.Web; using System.Web.UI; using System.Web.UI.WebControls; public partial class controls_admin_templates : System.Web.UI.UserControl { #region methods /// /// Method to Bind Template Data /// private void BindTemplateData() { try { ArrayList TemplateList = xData.GetTypedByCriteriaSpecific("recId", typeof(oTemplate), "", "", "templateName"); rptTemplatePages.DataSource = TemplateList; rptTemplatePages.DataBind(); } catch (Exception ex) { exception.HandleException("Template:", MethodBase.GetCurrentMethod().Name, ex, Session["user"]); Response.Redirect("/error", false); } } /// /// Bind Templates /// private void BindTemplateTypes() { ArrayList templateTypes = new ArrayList(); try { templateTypes = xData.GetTypedByCriteriaSpecific("recId", typeof(oTemplateType), "isActive", "1", "sequence"); ddTemplateTypes.DataSource = templateTypes; ddTemplateTypes.DataTextField = "templateType"; ddTemplateTypes.DataValueField = "recId"; ddTemplateTypes.DataBind(); } catch (Exception ex) { exception.HandleException("Admin:", MethodBase.GetCurrentMethod().Name, ex, 0); Response.Redirect("Error.aspx", false); } } /// /// Populate Form Values /// /// private void PopulatePageFormValues(ref oTemplate _Template) { try { txtTemplateName.Value = _Template.templateName; if (_Template.templateTypeId > 0) ddTemplateTypes.SelectedValue = _Template.templateTypeId.ToString(); edTemplate.Content = _Template.templateContent; } catch (Exception ex) { exception.HandleException("Template:", MethodBase.GetCurrentMethod().Name, ex, 0); Response.Redirect("/error", false); } } /// /// Save Form Values /// /// private void SavePageFormValues(ref oTemplate _Template) { try { _Template.templateName = txtTemplateName.Value; if(ddTemplateTypes.SelectedValue != String.Empty) _Template.templateTypeId = int.Parse(ddTemplateTypes.SelectedValue); _Template.templateContent = edTemplate.Content; } catch (Exception ex) { exception.HandleException("Template:", MethodBase.GetCurrentMethod().Name, ex, 0); Response.Redirect("/error", false); } } /// /// Method to Toggle Panels /// /// private void TogglePanels(string panelName) { switch (panelName) { case "pnlTemplatePage": pnlTemplatePage.Visible = true; pnlTemplateList.Visible = false; break; case "pnlTemplateList": pnlTemplatePage.Visible = false; pnlTemplateList.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) { BindTemplateData(); BindTemplateTypes(); } } catch (Exception ex) { exception.HandleException("Template:", MethodBase.GetCurrentMethod().Name, ex, Session["user"]); Response.Redirect("/error", false); } } /// /// New Template Click /// /// /// protected void btnNewTemplate_Click(object sender, EventArgs e) { try { //show Template Specific TogglePanels("pnlTemplatePage"); Session["TemplateId"] = 0; utils.disposeSession("Template"); oTemplate Template = new oTemplate(); PopulatePageFormValues(ref Template); } catch (Exception ex) { exception.HandleException("Template:", MethodBase.GetCurrentMethod().Name, ex, Session["user"]); Response.Redirect("/error", false); } } /// /// Edit the Template page /// /// /// protected void lnkEdit_Click(object sender, EventArgs e) { oTemplate _Template = new oTemplate(); ArrayList catList = new ArrayList(); try { if (sender.GetType() == typeof(LinkButton)) { // int recId = int.Parse(((LinkButton)sender).CommandArgument); if (recId > 0) { Session["TemplateId"] = recId; //get cat catList = xData.GetTypedByCriteriaSpecific("recId", typeof(oTemplate), "recId", recId.ToString()); //enumerate list foreach (oTemplate cat in catList) { //assign object _Template = cat; //populate page form PopulatePageFormValues(ref _Template); Session["Template"] = _Template; break; } //show Template Form TogglePanels("pnlTemplatePage"); } } } catch (Exception ex) { exception.HandleException("Template:", MethodBase.GetCurrentMethod().Name, ex, Session["user"]); Response.Redirect("/error", false); } } /// /// Remove the Template /// /// /// protected void lnkRemove_Click(object sender, EventArgs e) { try { if (sender.GetType() == typeof(LinkButton)) { // int recId = int.Parse(((LinkButton)sender).CommandArgument); //Delete cat if (xData.DeleteTyped("recId", recId.ToString(), typeof(oTemplate))) { //rebind pages grid BindTemplateData(); pnlResult.Visible = true; //display successful result lblResult.Text = "the selected Template was deleted successfully."; } } } catch (Exception ex) { exception.HandleException("Template:", MethodBase.GetCurrentMethod().Name, ex, Session["user"]); Response.Redirect("/error", false); } } /// /// Cancel /// /// /// protected void btnCancel_Click(object sender, EventArgs e) { try { Session["TemplateId"] = 0; utils.disposeSession("Template"); BindTemplateData(); //show cat list TogglePanels("pnlTemplateList"); } catch (Exception ex) { exception.HandleException("Template:", MethodBase.GetCurrentMethod().Name, ex, Session["user"]); Response.Redirect("/error", false); } } /// /// Save Click /// /// /// protected void btnSave_Click(object sender, EventArgs e) { oTemplate Template = new oTemplate(); try { if (utils.verifySession("Template"))//update mode { Template = (oTemplate)Session["Template"]; //save form values SavePageFormValues(ref Template); if (xData.UpdateTyped("recId", Template.recId.ToString(), typeof(oTemplate), Template)) { Session["TemplateId"] = Template.recId; Session["Template"] = Template; BindTemplateData(); pnlResult.Visible = true; lblResult.Text = "your changes were updated successfully."; } } else { if (!xData.VerifyExists("recId", typeof(oTemplate), "templateName", txtTemplateName.Value)) { //save form values SavePageFormValues(ref Template); Template.recId = xData.SaveTyped("recId", typeof(oTemplate), Template); if (Template.recId > 0) { Session["TemplateId"] = Template.recId; Session["Template"] = Template; BindTemplateData(); pnlResult.Visible = true; lblResult.Text = "your Template was created successfully."; } } else { pnlResult.Visible = true; lblResult.Text = "A Template with this name already exists on the system"; } } } catch (Exception ex) { exception.HandleException("Template:", MethodBase.GetCurrentMethod().Name, ex, Session["user"]); Response.Redirect("/error", false); } } #endregion }