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 }