//Initializes the Menu Patient form and updates labels. public MenuPatient(string Username) { CurrentUser = Username; string fname = Convert.ToString(SQLQuery.SingleSelect("firstName", "Patients", "userName = '******'")); ID = Convert.ToInt32(SQLQuery.SingleSelect("pId", "Patients", "userName = '******'")); InitializeComponent(); lblWelcome.Text = ("Welcome Back " + fname); }
//Establish connection event. Tests to make sure connection stirng works for SQL Queries. private void butConnect_Click(object sender, EventArgs e) { SQLQuery.servername = txtServer.Text; SQLQuery.dbname = txtDB.Text; if (SQLQuery.IsServerConnected() == true) { this.Hide(); LogIn logIn = new LogIn(); logIn.ShowDialog(); this.Close(); } else if (SQLQuery.IsServerConnected() == false) { MessageBox.Show("Unable to connect to SQL Database"); } }
//Checks the email input by the user against the database to see if it exists. Updates the database with temporary password. public void CheckSend(string email) { int countP = SQLQuery.RowCount("email", "Patients", "email=" + "'" + email + "'"); int countD = SQLQuery.RowCount("Email", "Doctor", "Email=" + "'" + email + "'"); if (countP == 1) { string newpass = sendRecoveryEmail(email); SQLQuery.UpdateRow("Patients", "passWord", newpass, "email=" + "'" + email + "'"); } if (countD == 1) { string newpass = sendRecoveryEmail(email); SQLQuery.UpdateRow("Doctor", "passWord", newpass, "Email=" + "'" + email + "'"); } }
//Updates the email and checks for validity in the process private void butUpdateEmail_Click(object sender, EventArgs e) { if (Validation.IsValidEmail(txtEmail.Text)) { SQLQuery.UpdateRow("Doctor", "Email", txtEmail.Text, condition); MessageBox.Show("Email updated"); txtCEmail.Text = Convert.ToString(SQLQuery.SingleSelect("Email", "Doctor", condition)); } else if (Validation.IsValidEmail(txtEmail.Text) == false && txtEmail.Text != "") { MessageBox.Show("Email is not in proper format"); } else if (txtEmail.Text != "") { MessageBox.Show("Must enter a new email to change the existing email"); } }
//When a valid doctor last name has been entered, allow patient to pick a time private void txtDoctorLast_TextChanged(object sender, EventArgs e) { string LastName = txtDoctorLast.Text; string condition = "lastName = '" + LastName + "'"; if (SQLQuery.Exists("Doctor", condition) == 1) { datePicker.Enabled = true; dID = Convert.ToInt32(SQLQuery.SingleSelect("dID", "Doctor", condition)); } else { dID = -1; datePicker.Enabled = false; boxTimes.Enabled = false; } }
//Once a valid doctor, date and time have been selected, appointment will be made. private void butMakeAppt_Click(object sender, EventArgs e) { //Gather variables for validation and insert. string subject = txtSubject.Text; string selectedDate = datePicker.Value.ToShortDateString(); var checkedButton = boxTimes.Controls.OfType <RadioButton>().FirstOrDefault(r => r.Checked); string time = checkedButton.Text; string checkCon = "date = '" + selectedDate + "' AND dID = '" + dID + "' AND pId = '" + pID + "'"; //Check to see if the patient has an appointment with that doctor that day. if (SQLQuery.Exists("Appointments", checkCon) == 0) { object[] values = new object[5] { (dID), (pID), (selectedDate), (time), (subject) }; //Insert appointment into database SQLQuery.Insert("Appointments", values); //Notify user of their selected appointment string message = ("Appointment made for: " + selectedDate + ", at " + time + " with Dr." + txtDoctorLast.Text); MessageBox.Show(message); this.Hide(); this.Close(); } //Give user the option to reschedule appointment to new time. else { DialogResult dialogResult = MessageBox.Show( "You already have an appointment with this doctor today. " + "\nWould you like to change it to the newly selected time?", "Reschedule Appointment", MessageBoxButtons.YesNo); if (dialogResult == DialogResult.Yes) { SQLQuery.UpdateRow("Appointments", "time", time, checkCon); string message = ("Appointment made for: " + selectedDate + ", at " + time + " with Dr." + txtDoctorLast.Text); MessageBox.Show(message); this.Hide(); this.Close(); } } }
//Updates the table with the scheduled appointments the logged in patient has private void butViewAppt_Click(object sender, EventArgs e) { lblTable.Text = "Appointments"; string[] ApptCol = new string[] { "lastName", "date", "time", "subject" }; dtTable.DataSource = SQLQuery.JoinSelectTable(ApptCol, "Appointments", "Doctor", "dID", "pId = '" + ID + "'"); }
//Updates the table with medical history information of logged in patient private void butNote_Click(object sender, EventArgs e) { lblTable.Text = "Medical History"; string[] NoteCol = new string[] { "date", "symptom_Name", "symptom_Desc" }; dtTable.DataSource = SQLQuery.SelectTable(NoteCol, "Medical_History", "pId = '" + ID + "'"); }
//Updates the table with prescription information of logged in patient private void butPrescr_Click(object sender, EventArgs e) { lblTable.Text = "Prescriptions"; string[] PrescrCol = new string[] { "date", "presc_Name", "presc_instructions" }; dtTable.DataSource = SQLQuery.SelectTable(PrescrCol, "Prescriptions", "pId = '" + ID + "'"); }