using framework_business;
using framework_library;
using System;
using System.Collections;
using System.Data;
using System.Reflection;
using System.Web.UI;
using System.Web.UI.WebControls;
public partial class controls_medical_schemes : System.Web.UI.UserControl
{
#region methods
///
/// Method to Bind MedicalScheme Data
///
private void BindMedicalSchemeData()
{
try
{
ArrayList practiceList = xData.GetTypedByCriteriaSpecific("recId", typeof(oMedicalScheme), "", "", "name");
rptMedicalSchemes.DataSource = practiceList;
rptMedicalSchemes.DataBind();
}
catch (Exception ex)
{
exception.HandleException("MedicalSchemes:", MethodBase.GetCurrentMethod().Name, ex, Session["practice"]);
Response.Redirect("/error", false);
}
}
///
/// Method to Bind Tariff Data
///
private void BindTariffs()
{
try
{
ArrayList tariffs = xData.GetTypedByCriteriaSpecific("recId", typeof(oTariffPlan), "", "", "name");
ddTariffPlans.DataSource = tariffs;
ddTariffPlans.DataValueField = "code";
ddTariffPlans.DataTextField = "name";
ddTariffPlans.DataBind();
ddTariffPlans.Items.Insert(0, new ListItem("select a tariff..", ""));
}
catch (Exception ex)
{
exception.HandleException("Procedure:", MethodBase.GetCurrentMethod().Name, ex, Session["Procedure"]);
Response.Redirect("/error", false);
}
}
///
/// Method to Bind Medical Administrators
///
private void BindMedicalAdmins()
{
try
{
DataTable medAdminData = new DataTable();
medAdminData = xData.GetTypedByCriteriaBeginsTable("recId", typeof(oMedicalAdministrator), "", "", "medSchemeName");
medAdminData.Columns.Add("medAdminAndCode", typeof(string), "medSchemeName + ' - ' + msDestinationCode");
ddMedAdmin.DataSource = medAdminData;
ddMedAdmin.DataValueField = "msDestinationCode";
ddMedAdmin.DataTextField = "medAdminAndCode";
ddMedAdmin.DataBind();
ddMedAdmin.Items.Insert(0, new ListItem("select a medical administrator..", ""));
}
catch (Exception ex)
{
exception.HandleException("Procedure:", MethodBase.GetCurrentMethod().Name, ex, Session["Procedure"]);
Response.Redirect("/error", false);
}
}
///
/// Populate Form Values
///
///
private void PopulatePageFormValues(ref oMedicalScheme _MedicalScheme)
{
try
{
txtCode.Value = _MedicalScheme.code;
txtName.Value = _MedicalScheme.name;
txtTel.Value = _MedicalScheme.tel;
txtFax.Value = _MedicalScheme.fax;
txtEmail.Value = _MedicalScheme.email;
txtAddress1.Value = _MedicalScheme.address1;
txtAddress2.Value = _MedicalScheme.address2;
txtAddress3.Value = _MedicalScheme.address3;
txtPostalCode.Value = _MedicalScheme.postCode;
txtActivationCode.Value = _MedicalScheme.claimActivationCode;
chkClaimActive.Checked = _MedicalScheme.claimActivated;
txtNotes.Value = _MedicalScheme.notes;
if (ddTariffPlans.Items.FindByValue(_MedicalScheme.planCode) != null)
ddTariffPlans.SelectedValue = _MedicalScheme.planCode;
if (ddMedAdmin.Items.FindByValue(_MedicalScheme.msDestinationCode) != null)
ddMedAdmin.SelectedValue = _MedicalScheme.msDestinationCode;
}
catch (Exception ex)
{
exception.HandleException("MedicalSchemes:", MethodBase.GetCurrentMethod().Name, ex, 0);
Response.Redirect("/error", false);
}
}
///
/// Save Form Values
///
///
private void SavePageFormValues(ref oMedicalScheme _MedicalScheme)
{
try
{
_MedicalScheme.code = txtCode.Value;
_MedicalScheme.name = txtName.Value;
_MedicalScheme.tel = txtTel.Value;
_MedicalScheme.fax = txtFax.Value;
_MedicalScheme.email = txtEmail.Value;
_MedicalScheme.address1 = txtAddress1.Value;
_MedicalScheme.address2 = txtAddress2.Value;
_MedicalScheme.address3 = txtAddress3.Value;
_MedicalScheme.postCode = txtPostalCode.Value;
_MedicalScheme.claimActivationCode = txtActivationCode.Value;
_MedicalScheme.claimActivated = chkClaimActive.Checked;
_MedicalScheme.notes = txtNotes.Value;
_MedicalScheme.planCode = ddTariffPlans.SelectedValue;
_MedicalScheme.msDestinationCode = ddMedAdmin.SelectedValue;
}
catch (Exception ex)
{
exception.HandleException("MedicalSchemes:", MethodBase.GetCurrentMethod().Name, ex, 0);
Response.Redirect("/error", false);
}
}
///
/// Method to Toggle Panels
///
///
private void TogglePanels(string panelName)
{
switch (panelName)
{
case "pnlMedicalSchemePage":
pnlMedicalSchemePage.Visible = true;
pnlMedicalSchemeList.Visible = false;
break;
case "pnlMedicalSchemeList":
pnlMedicalSchemePage.Visible = false;
pnlMedicalSchemeList.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)
{
BindMedicalSchemeData();
BindTariffs();
BindMedicalAdmins();
}
}
catch (Exception ex)
{
exception.HandleException("MedicalSchemes:", MethodBase.GetCurrentMethod().Name, ex, Session["practice"]);
Response.Redirect("/error", false);
}
}
///
/// New MedicalScheme Click
///
///
///
protected void btnNewMedicalScheme_Click(object sender, EventArgs e)
{
try
{
//show Content Specific
TogglePanels("pnlMedicalSchemePage");
Session["MedicalSchemeId"] = 0;
utils.disposeSession("MedicalScheme");
oMedicalScheme MedicalScheme = new oMedicalScheme();
PopulatePageFormValues(ref MedicalScheme);
txtCode.Disabled = false;
}
catch (Exception ex)
{
exception.HandleException("MedicalSchemes:", MethodBase.GetCurrentMethod().Name, ex, Session["practice"]);
Response.Redirect("/error", false);
}
}
///
/// Edit the MedicalScheme page
///
///
///
protected void lnkEdit_Click(object sender, EventArgs e)
{
oMedicalScheme _MedicalScheme = new oMedicalScheme();
ArrayList catList = new ArrayList();
try
{
if (sender.GetType() == typeof(LinkButton))
{
//
int recId = int.Parse(((LinkButton)sender).CommandArgument);
if (recId > 0)
{
Session["MedicalSchemeId"] = recId;
//get cat
catList = xData.GetTypedByCriteriaSpecific("recId", typeof(oMedicalScheme), "recId", recId.ToString());
//enumerate list
foreach (oMedicalScheme cat in catList)
{
//assign object
_MedicalScheme = cat;
//populate page form
PopulatePageFormValues(ref _MedicalScheme);
Session["MedicalScheme"] = _MedicalScheme;
txtCode.Disabled = true;
break;
}
//show MedicalScheme Form
TogglePanels("pnlMedicalSchemePage");
}
}
}
catch (Exception ex)
{
exception.HandleException("MedicalSchemes:", MethodBase.GetCurrentMethod().Name, ex, Session["practice"]);
Response.Redirect("/error", false);
}
}
///
/// Remove the MedicalScheme
///
///
///
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(oMedicalScheme)))
{
//rebind pages grid
BindMedicalSchemeData();
pnlResult.Visible = true;
//display successful result
lblResult.Text = "the selected MedicalScheme was deleted successfully.";
}
}
}
catch (Exception ex)
{
exception.HandleException("MedicalSchemes:", MethodBase.GetCurrentMethod().Name, ex, Session["practice"]);
Response.Redirect("/error", false);
}
}
///
/// Cancel
///
///
///
protected void btnCancel_Click(object sender, EventArgs e)
{
try
{
Session["MedicalSchemeId"] = 0;
utils.disposeSession("MedicalScheme");
BindMedicalSchemeData();
//show cat list
TogglePanels("pnlMedicalSchemeList");
}
catch (Exception ex)
{
exception.HandleException("MedicalSchemes:", MethodBase.GetCurrentMethod().Name, ex, Session["practice"]);
Response.Redirect("/error", false);
}
}
///
/// Save Click
///
///
///
protected void btnSave_Click(object sender, EventArgs e)
{
oMedicalScheme MedicalScheme = new oMedicalScheme();
try
{
if (utils.verifySession("MedicalScheme"))//update mode
{
MedicalScheme = (oMedicalScheme)Session["MedicalScheme"];
//save form values
SavePageFormValues(ref MedicalScheme);
if (xData.UpdateTyped("recId", MedicalScheme.recId.ToString(), typeof(oMedicalScheme), MedicalScheme))
{
Session["MedicalSchemeId"] = MedicalScheme.recId;
Session["MedicalScheme"] = MedicalScheme;
BindMedicalSchemeData();
pnlResult.Visible = true;
lblResult.Text = "your changes were updated successfully.";
}
}
else
{
if (!xData.VerifyExists("recId", typeof(oMedicalScheme), "code", txtCode.Value))
{
//save form values
SavePageFormValues(ref MedicalScheme);
MedicalScheme.recId = xData.SaveTyped("recId", typeof(oMedicalScheme), MedicalScheme);
if (MedicalScheme.recId > 0)
{
Session["MedicalSchemeId"] = MedicalScheme.recId;
Session["MedicalScheme"] = MedicalScheme;
BindMedicalSchemeData();
pnlResult.Visible = true;
lblResult.Text = "your MedicalScheme was created successfully.";
txtCode.Disabled = true;
}
}
else
{
pnlResult.Visible = true;
lblResult.Text = "An Medical Scheme with this code already exists on the system";
}
}
}
catch (Exception ex)
{
exception.HandleException("MedicalSchemes:", MethodBase.GetCurrentMethod().Name, ex, Session["practice"]);
Response.Redirect("/error", false);
}
}
#endregion
}