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
}