/// <summary> /// Retrieves the medicines the patient has been prescribed from the database and stores them /// in the medicineHistory arraylist /// </summary> public void retrieveMedicineHistory() { DataTable table = new DataTable(); string connStr = "server=csdatabase.eku.edu;user=stu_csc340;database=csc340_db;port=3306;password=Colonels18;SSLMode=None"; MySqlConnection conn = new MySqlConnection(connStr); try { Console.WriteLine("Connecting to MySQL..."); conn.Open(); string sql = "SELECT m.name, DATE_FORMAT(pr.dateFilled, \"%m-%d-%Y\") AS dateFilled, m.quantity, m.dosage, m.route, " + "m.instructions, m.prescriptionID " + "FROM DixonPatient pa JOIN DixonPrescription pr ON pr.patientID = pa.patientID " + "JOIN DixonMedicine m ON m.prescriptionID = pr.id WHERE pa.patientID = @id;"; MySqlCommand cmd = new MySqlCommand(sql, conn); cmd.Parameters.AddWithValue("@id", Id); MySqlDataAdapter myAdapter = new MySqlDataAdapter(cmd); myAdapter.Fill(table); Console.WriteLine("Table is ready."); } catch (Exception ex) { Console.WriteLine(ex.ToString()); } conn.Close(); MedicineHistory.Clear(); foreach (DataRow row in table.Rows) { Medicine medicine = new Medicine(); medicine.Name = row["name"].ToString(); medicine.Date = row["dateFilled"].ToString(); medicine.Quantity = (int)row["quantity"]; medicine.Dosage = row["dosage"].ToString(); medicine.Route = row["route"].ToString(); medicine.Instructions = row["instructions"].ToString(); medicine.PrescriptionID = (int)row["prescriptionID"]; medicineHistory.Add(medicine); } }
/// <summary> /// Adds list of medicines to the Medicines property of prescription. /// </summary> public void retrieveMedicines() { DataTable table = new DataTable(); string connStr = "server=csdatabase.eku.edu;user=stu_csc340;database=csc340_db;port=3306;password=Colonels18;SSLMode=None"; MySqlConnection conn = new MySqlConnection(connStr); try { Console.WriteLine("Connecting to MySQL..."); conn.Open(); string sql = "SELECT m.name, m.quantity, m.dosage, m.route, m.instructions " + "FROM DixonPrescription pr JOIN DixonMedicine m ON m.prescriptionID = pr.id " + "WHERE pr.id = @id;"; MySqlCommand cmd = new MySqlCommand(sql, conn); cmd.Parameters.AddWithValue("@id", Id); MySqlDataAdapter myAdapter = new MySqlDataAdapter(cmd); myAdapter.Fill(table); Console.WriteLine("Table is ready."); } catch (Exception ex) { Console.WriteLine(ex.ToString()); } conn.Close(); ArrayList medicines = new ArrayList(); foreach (DataRow row in table.Rows) { Medicine medicine = new Medicine(); medicine.Name = row["name"].ToString(); medicine.Quantity = (int)row["quantity"]; medicine.Dosage = row["dosage"].ToString(); medicine.Route = row["route"].ToString(); medicine.Instructions = row["instructions"].ToString(); medicines.Add(medicine); } Medicines = medicines; }
//create the new prescription private void addPrescription_Click(object sender, EventArgs e) { Medicine medicine1 = new Medicine(); Medicine medicine2 = new Medicine(); Medicine medicine3 = new Medicine(); Medicine medicine4 = new Medicine(); ArrayList medicines = new ArrayList(); switch (checkBoxAmnt) { case 1: if (string.IsNullOrEmpty(medName1.Text)) { new AlertDialog("You're missing some information. Please be sure to fill out all forms throughout.").ShowDialog(); } else { medicine1.Name = medName1.Text; medicine1.Route = routeText1.Text; medicine1.Quantity = (int)amntUpDown1.Value; medicine1.Instructions = instructionText1.Text; medicine1.Dosage = dosageTextbox1.Text; medicines.Add(medicine1); Medicine.createMedicine(medicines, Prescription.createPrescription((int)Doctor.PharmaciesId[pharmacyListBox.SelectedIndex], (int)numericUpDownRefills.Value, selectedPatient.Id)); new AlertDialog("Your prescription has been made.").ShowDialog(); } break; case 2: if (string.IsNullOrEmpty(medName1.Text) || string.IsNullOrEmpty(medName2.Text)) { new AlertDialog("You're missing some information. Please be sure to fill out all forms throughout.").ShowDialog(); } else { medicine1.Name = medName1.Text; medicine1.Route = routeText1.Text; medicine1.Quantity = (int)amntUpDown1.Value; medicine1.Instructions = instructionText1.Text; medicine1.Dosage = dosageTextbox1.Text; medicine2.Name = medName2.Text; medicine2.Route = routeText2.Text; medicine2.Quantity = (int)amntUpDown2.Value; medicine2.Instructions = instructionText2.Text; medicine2.Dosage = dosageTextbox2.Text; medicines.Add(medicine1); medicines.Add(medicine2); Medicine.createMedicine(medicines, Prescription.createPrescription((int)Doctor.PharmaciesId[pharmacyListBox.SelectedIndex], (int)numericUpDownRefills.Value, selectedPatient.Id)); new AlertDialog("Your prescription has been made.").ShowDialog(); } break; case 3: if (string.IsNullOrEmpty(medName1.Text) || string.IsNullOrEmpty(medName2.Text) || string.IsNullOrEmpty(medName3.Text)) { new AlertDialog("You're missing some information. Please be sure to fill out all forms throughout.").ShowDialog(); } else { medicine1.Name = medName1.Text; medicine1.Route = routeText1.Text; medicine1.Quantity = (int)amntUpDown1.Value; medicine1.Instructions = instructionText1.Text; medicine1.Dosage = dosageTextbox1.Text; medicine2.Name = medName2.Text; medicine2.Route = routeText2.Text; medicine2.Quantity = (int)amntUpDown2.Value; medicine2.Instructions = instructionText2.Text; medicine2.Dosage = dosageTextbox2.Text; medicine3.Name = medName3.Text; medicine3.Route = routeText3.Text; medicine3.Quantity = (int)amntUpDown3.Value; medicine3.Instructions = instructionText3.Text; medicine3.Dosage = dosageTextbox3.Text; medicines.Add(medicine1); medicines.Add(medicine2); medicines.Add(medicine3); Medicine.createMedicine(medicines, Prescription.createPrescription((int)Doctor.PharmaciesId[pharmacyListBox.SelectedIndex], (int)numericUpDownRefills.Value, selectedPatient.Id)); new AlertDialog("Your prescription has been made.").ShowDialog(); } break; case 4: if (string.IsNullOrEmpty(medName1.Text) || string.IsNullOrEmpty(medName2.Text) || string.IsNullOrEmpty(medName3.Text) || string.IsNullOrEmpty(medName4.Text)) { new AlertDialog("You're missing some information. Please be sure to fill out all forms throughout.").ShowDialog(); } else { medicine1.Name = medName1.Text; medicine1.Route = routeText1.Text; medicine1.Quantity = (int)amntUpDown1.Value; medicine1.Instructions = instructionText1.Text; medicine1.Dosage = dosageTextbox1.Text; medicine2.Name = medName2.Text; medicine2.Route = routeText2.Text; medicine2.Quantity = (int)amntUpDown2.Value; medicine2.Instructions = instructionText2.Text; medicine2.Dosage = dosageTextbox2.Text; medicine3.Name = medName3.Text; medicine3.Route = routeText3.Text; medicine3.Quantity = (int)amntUpDown3.Value; medicine3.Instructions = instructionText3.Text; medicine3.Dosage = dosageTextbox3.Text; medicine4.Name = medName4.Text; medicine4.Route = routeText4.Text; medicine4.Quantity = (int)amntUpDown4.Value; medicine4.Instructions = instructionText4.Text; medicine4.Dosage = dosageTextBox4.Text; medicines.Add(medicine1); medicines.Add(medicine2); medicines.Add(medicine3); medicines.Add(medicine4); Medicine.createMedicine(medicines, Prescription.createPrescription((int)Doctor.PharmaciesId[pharmacyListBox.SelectedIndex], (int)numericUpDownRefills.Value, selectedPatient.Id)); new AlertDialog("Your prescription has been made.").ShowDialog(); } break; default: new AlertDialog("You must add at least one medicine to create a prescription.").ShowDialog(); break; } }