/// <summary>
        /// Executes if the User is EDITING a note and chose to send an Email.
        /// </summary>
        private void SendEditEmail()
        {
            TrinityClassLibrary_BL.Medic   currentMedic   = (TrinityClassLibrary_BL.Medic)Session["CurrentMedic"];
            TrinityClassLibrary_BL.Patient currentPatient = (TrinityClassLibrary_BL.Patient)Session["Patient"];
            string server         = ConfigurationManager.AppSettings["EmailServer"].ToString();
            string emailSender    = currentMedic.EmailAddress.ToString();
            string emailRecipient = ConfigurationManager.AppSettings["MedicAppEmailRecipient"].ToString();

            StringBuilder emailBody  = new StringBuilder();
            MailMessage   mailMsg    = new MailMessage(emailSender, emailRecipient);
            SmtpClient    mailClient = new SmtpClient();

            mailClient.Host = server;

            string emailSubject = "On Call Note EDITED for Rig: " + Session["PatientInfo"].ToString();

            emailSubject = emailSubject.Replace(":", " -");

            mailMsg.Subject = emailSubject;
            emailBody.Append(Session["PatientInfo"].ToString() + "\n\n");
            emailBody.Append("Chief Complaint: " + currentPatient.ChiefComplaint + "\n\n");
            emailBody.Append("Physician Username: "******"\n\n");
            emailBody.Append("Note Entered: " + Convert.ToDateTime(DateTime.Now.ToShortDateString()) + "\n\n");
            emailBody.Append("Physician Note: " + Session["NoteToSave"].ToString() + "\n\n");
            emailBody.Append("This note may now be viewed both online and via the Trinity Medical Manager.\n\n");
            mailMsg.Body = emailBody.ToString();

            mailClient.Send(mailMsg);
        }
        /// <summary>
        /// Executes the following code if a User clicked the ADD NOTE button on the Notes page.
        /// </summary>
        protected void EditFalse()
        {
            string medicName = HttpContext.Current.User.Identity.Name.ToString();

            TrinityClassLibrary_BL.Medic currentMedic = MedicProvider.Fetch(medicName);

            // Gets the selected Patient from Session that was stored in the Patient page.
            TrinityClassLibrary_BL.Patient currentPatient = (TrinityClassLibrary_BL.Patient)Session["Patient"];

            TrinityClassLibrary_BL.Rig currentPatientRig = RigProvider.Fetch(Convert.ToInt32(currentPatient.RigID));

            // Stores the current Medic and Patients Rig to session for use in the Save/Email methods.
            Session["CurrentMedic"]      = currentMedic;
            Session["CurrentPatientRig"] = currentPatientRig;

            // Gets the current Medics security level.
            this.MedicSecurityLevelView( );

            // Calls IsNull to check the patient variables for nulls before placing into literal.
            ArrayList patientInfo = new ArrayList();

            this.IsNull(patientInfo);

            // Populates the Patient Info literal.
            this.litPatientInfo.Text = patientInfo[0].ToString() + ": " + patientInfo[1].ToString() + ", " + patientInfo[2].ToString() + " (" + patientInfo[3].ToString() + ")";

            // Stores PatientInfo to session for use in the Email method.
            Session["PatientInfo"] = this.litEditPatientInfo.Text;

            // Shows the Add form - Ensures Edit Form is hidden.
            this.pnlEditNote.Visible = false;
            this.pnlAddNote.Visible  = true;
        }
        /// <summary>
        /// Executes the following code if a User clicked on an Additonal Note to EDIT on the Notes page.
        /// </summary>
        protected void EditTrue()
        {
            string medicName = HttpContext.Current.User.Identity.Name.ToString();

            TrinityClassLibrary_BL.Medic currentMedic = MedicProvider.Fetch(medicName);
            AdditionalPatientNote        currentNote  = AdditionalPatientNoteProvider.Fetch(Convert.ToInt32(Session["NoteID"]));

            Session["CurrentNoteToSave"] = currentNote;

            // Gets the current Patient stored in Session from the Patient page.
            TrinityClassLibrary_BL.Patient currentPatient = (TrinityClassLibrary_BL.Patient)Session["Patient"];

            TrinityClassLibrary_BL.Rig currentPatientRig = RigProvider.Fetch(Convert.ToInt32(currentPatient.RigID));

            // Stores the current Medic and Patients Rig to session for use in the Save/Email methods.
            Session["CurrentMedic"]      = currentMedic;
            Session["CurrentPatientRig"] = currentPatientRig;

            // Gets the current Notes Security Level.
            this.NoteSecurityLevel(currentNote.SecurityLevel);

            // Populates textbox with the current note attached to Patient (if any).
            if (string.IsNullOrEmpty(currentNote.Notes))
            {
                this.txtAdminEditNote.Text = "";
            }
            else
            {
                this.txtAdminEditNote.Text = currentNote.Notes.ToString(); this.lblEditCharCount.Text = "Message Length: " + this.txtAdminEditNote.Text.Length.ToString();
            }

            // Calls IsNull to check the patient variables for nulls before placing into literal.
            ArrayList patientInfo = new ArrayList();

            this.IsNull(patientInfo);

            this.litEditPatientInfo.Text = patientInfo[0].ToString() + ": " + patientInfo[1].ToString() + ", " + patientInfo[2].ToString() + " (" + patientInfo[3].ToString() + ")";

            // Stores PatientInfo to session for use in the Email method.
            Session["PatientInfo"] = this.litEditPatientInfo.Text;

            // Shows the Edit Form - Ensures Add Form is hidden.
            this.pnlEditNote.Visible = true;
            this.pnlAddNote.Visible  = false;
        }
        /// <summary>
        /// Saves the EDITED note to the database and sends email if checked.
        /// </summary>
        /// <param name="sender"></param>
        /// <param name="e"></param>
        protected void btnSaveEdit_Click(object sender, EventArgs e)
        {
            // Gets selected Patient/current User from session and creates a new Note to be saved.
            TrinityClassLibrary_BL.Patient currentPatient = (TrinityClassLibrary_BL.Patient)Session["Patient"];
            TrinityClassLibrary_BL.Medic   currentMedic   = (TrinityClassLibrary_BL.Medic)Session["CurrentMedic"];
            AdditionalPatientNote          noteToSave     = (AdditionalPatientNote)Session["CurrentNoteToSave"];

            Session.Remove("CurrentNoteToSave");
            string note            = null;
            int    securityLevelID = 0;
            string errMsg          = null;

            // Sets current PatientID.
            noteToSave.PatientID = currentPatient.PatientID;

            // Ensures the textbox has a value before saving to the note.
            if (this.txtAdminEditNote.Text.Trim().Length > 0)
            {
                note = this.txtAdminEditNote.Text;
            }
            if (string.IsNullOrEmpty(note))
            {
                errMsg = "You must enter a note.";
            }
            else
            {
                noteToSave.Notes = note;
            }

            // Stores the note to session for use in the Email.
            Session["NoteToSave"] = note;

            // Checks to see which radio button is checked to set SecurityLevelID.
            if (this.rdoEditAdmin.Checked)
            {
                securityLevelID = (int)AdditionalPatientNote.SecurityLevels.AdminOnly;
            }
            if (this.rdoEditPhysicians.Checked)
            {
                securityLevelID = (int)AdditionalPatientNote.SecurityLevels.AdminAndPhysiciansOnly;
            }
            if (this.rdoEditAllUsers.Checked)
            {
                securityLevelID = (int)AdditionalPatientNote.SecurityLevels.AllUsers;
            }
            if (securityLevelID == 0)
            {
                errMsg += "/nYou must select a Security Level.";
            }
            else
            {
                noteToSave.SecurityLevelID = securityLevelID;
            }

            // Created by current users MedicID.
            noteToSave.CreatedByUserID = currentMedic.MedicID;

            // Sets created date to today.
            noteToSave.DateCreated = DateTime.Now;

            // The following are null and false since this is a new note.
            noteToSave.LastModifiedByUserID = null;
            noteToSave.DateLastModified     = null;
            noteToSave.Reviewed             = false;
            noteToSave.IsDeleted            = false;
            noteToSave.TempNoteID           = null; // TempID is not used by this App.

            if (string.IsNullOrEmpty(errMsg))
            {
                ClientScript.RegisterStartupScript(GetType(), "Close", "<script>var oWindow = null; if (window.radWindow) oWindow = window.radWindow; else if (window.frameElement.radWindow) oWindow = window.frameElement.radWindow; oWindow.Close();oWindow.BrowserWindow.GetNotesPanel().AjaxRequest();</script>");

                // Saves note to the database.
                AdditionalPatientNoteProvider.Save(noteToSave);

                // Saves the encounter to the DB and sends an email(if checked).
                if (this.chkAdminEditEmail.Checked)
                {
                    this.SendEditEmail();

                    if (chkCustomerNotification.Checked)
                    {
                        SendCustomerEmail();
                    }
                    Response.Write("<script language='javascript'>alert('Your note has been saved and emailed.');</script>");
                }
                else
                {
                    Response.Write("<script language='javascript'>alert('Your note has been saved.');</script>");
                }

                // Removes the session variables that will no longer be needed after save.
                Session.Remove("CurrentMedic");
                Session.Remove("CurrentPatientRig");
                Session.Remove("PatientInfo");
                Session.Remove("NoteToSave");
            }
            else
            {
                Response.Write("<script language='javascript'>alert('" + errMsg + "');</script>");
            }
        }