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_medical_conditions : System.Web.UI.UserControl { #region methods /// /// Method to Bind Condition Data /// private void BindConditionData() { try { ArrayList conditionList = xData.GetTypedByCriteriaSpecific("recId", typeof(oMedicalCondition), "", ""); rptCondition.DataSource = conditionList; rptCondition.DataBind(); } catch (Exception ex) { exception.HandleException("Condition:", MethodBase.GetCurrentMethod().Name, ex, Session["Condition"]); Response.Redirect("/error", false); } } /// /// Populate Form Values /// /// private void PopulatePageFormValues(ref oMedicalCondition _Condition) { try { ArrayList conditionTypeList = xData.GetTypedByCriteriaSpecific("recId", typeof(oMedicalConditionType), "", ""); ddConditionType.DataSource = conditionTypeList; ddConditionType.DataTextField = "conditionType"; ddConditionType.DataValueField = "recId"; ddConditionType.DataBind(); ddConditionType.SelectedIndex = 0; if (ddConditionType.Items.FindByValue(_Condition.conditionType.ToString()) != null) ddConditionType.SelectedValue = _Condition.conditionType.ToString(); ArrayList patientTypeList = xData.GetTypedByCriteriaSpecific("recId", typeof(oMedicalPatientType), "", ""); ddPatientType.DataSource = patientTypeList; ddPatientType.DataTextField = "patientType"; ddPatientType.DataValueField = "recId"; ddPatientType.DataBind(); ddPatientType.SelectedIndex = 0; if (ddPatientType.Items.FindByValue(_Condition.patientType.ToString()) != null) ddPatientType.SelectedValue = _Condition.patientType.ToString(); txtCondition.Value = _Condition.condition; chkActive.Checked = _Condition.isActive; txtSequence.Value = _Condition.sequence.ToString(); } catch (Exception ex) { exception.HandleException("Condition:", MethodBase.GetCurrentMethod().Name, ex, 0); Response.Redirect("/error", false); } } /// /// Save Form Values /// /// private void SavePageFormValues(ref oMedicalCondition _Condition) { try { _Condition.conditionType = Convert.ToInt32(ddConditionType.SelectedValue); _Condition.patientType = Convert.ToInt32(ddPatientType.SelectedValue); _Condition.condition = txtCondition.Value; _Condition.isActive = chkActive.Checked; _Condition.sequence = Convert.ToInt32(txtSequence.Value); } catch (Exception ex) { exception.HandleException("Condition:", MethodBase.GetCurrentMethod().Name, ex, 0); Response.Redirect("/error", false); } } /// /// Method to Toggle Panels /// /// private void TogglePanels(string panelName) { switch (panelName) { case "pnlConditionPage": pnlConditionPage.Visible = true; pnlConditionList.Visible = false; break; case "pnlConditionList": pnlConditionPage.Visible = false; pnlConditionList.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) { BindConditionData(); } } catch (Exception ex) { exception.HandleException("Condition:", MethodBase.GetCurrentMethod().Name, ex, Session["Condition"]); Response.Redirect("/error", false); } } /// /// New Condition Click /// /// /// protected void btnNewCondition_Click(object sender, EventArgs e) { try { //show Content Specific TogglePanels("pnlConditionPage"); Session["ConditionId"] = 0; utils.disposeSession("Condition"); oMedicalCondition Condition = new oMedicalCondition(); PopulatePageFormValues(ref Condition); } catch (Exception ex) { exception.HandleException("Condition:", MethodBase.GetCurrentMethod().Name, ex, Session["Condition"]); Response.Redirect("/error", false); } } /// /// Edit the Condition page /// /// /// protected void lnkEdit_Click(object sender, EventArgs e) { oMedicalCondition _Condition = new oMedicalCondition(); ArrayList catList = new ArrayList(); try { if (sender.GetType() == typeof(LinkButton)) { // int recId = int.Parse(((LinkButton)sender).CommandArgument); if (recId > 0) { Session["ConditionId"] = recId; //get cat catList = xData.GetTypedByCriteriaSpecific("recId", typeof(oMedicalCondition), "recId", recId.ToString()); //enumerate list foreach (oMedicalCondition cat in catList) { //assign object _Condition = cat; //populate page form PopulatePageFormValues(ref _Condition); Session["Condition"] = _Condition; break; } //show Condition Form TogglePanels("pnlConditionPage"); } } } catch (Exception ex) { exception.HandleException("Condition:", MethodBase.GetCurrentMethod().Name, ex, Session["Condition"]); Response.Redirect("/error", false); } } /// /// Remove the Condition /// /// /// 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(oMedicalCondition))) { //rebind pages grid BindConditionData(); pnlResult.Visible = true; //display successful result lblResult.Text = "the selected Condition was deleted successfully."; } } } catch (Exception ex) { exception.HandleException("Condition:", MethodBase.GetCurrentMethod().Name, ex, Session["Condition"]); Response.Redirect("/error", false); } } /// /// Cancel /// /// /// protected void btnCancel_Click(object sender, EventArgs e) { try { Session["ConditionId"] = 0; utils.disposeSession("Condition"); BindConditionData(); //show cat list TogglePanels("pnlConditionList"); } catch (Exception ex) { exception.HandleException("Condition:", MethodBase.GetCurrentMethod().Name, ex, Session["Condition"]); Response.Redirect("/error", false); } } /// /// Save Click /// /// /// protected void btnSave_Click(object sender, EventArgs e) { oMedicalCondition Condition = new oMedicalCondition(); try { if (utils.verifySession("Condition"))//update mode { Condition = (oMedicalCondition)Session["Condition"]; //save form values SavePageFormValues(ref Condition); if (xData.UpdateTyped("recId", Condition.recId.ToString(), typeof(oMedicalCondition), Condition)) { Session["ConditionId"] = Condition.recId; Session["Condition"] = Condition; BindConditionData(); pnlResult.Visible = true; lblResult.Text = "your changes were updated successfully."; } } else { if (!xData.VerifyExists("recId", typeof(oMedicalCondition), "condition", txtCondition.Value)) { //save form values SavePageFormValues(ref Condition); Condition.recId = xData.SaveTyped("recId", typeof(oMedicalCondition), Condition); if (Condition.recId > 0) { Session["ConditionId"] = Condition.recId; Session["Condition"] = Condition; BindConditionData(); pnlResult.Visible = true; lblResult.Text = "your Condition was created successfully."; } } else { pnlResult.Visible = true; lblResult.Text = "An Condition with this code already exists on the system"; } } } catch (Exception ex) { exception.HandleException("Condition:", MethodBase.GetCurrentMethod().Name, ex, Session["Condition"]); Response.Redirect("/error", false); } } #endregion }