//////////////////////This methods are for Buttons click events in Dialog Box opened. private async void docKitDialogSave(object sender, RoutedEventArgs e) { if (isDiseaseSelected) { if (docKitDName.Text.Equals("") || docKitDSymptoms.Text.Equals("") || docKitDDescription.Text.Equals("") || docKitDImage.Text.Equals("")) { docKitErrorDescription.Visibility = Windows.UI.Xaml.Visibility.Visible; } else { if (decodedImage != null) { if (isUpdating == true) { //Find that object's instance and change its values if (docKitListBox.SelectedItem != null) { BasicDiseases tempDisease = await diseaseMethods.FindSingleDisease(this.ocString[docKitListBox.SelectedIndex].ToString()); tempDisease.Name = docKitDName.Text; tempDisease.Description = docKitDDescription.Text; tempDisease.Image = decodedImage; tempDisease.Symptoms = docKitDSymptoms.Text; docKitDSymptoms.Text = ExtraModules.RemoveExtraCommas(docKitDSymptoms.Text); tempDisease.Symptoms = docKitDSymptoms.Text; await diseaseMethods.UpdateDisease(tempDisease); isUpdating = false; docKitDName.IsReadOnly = false; await this.UpdateDiseaseData(tempDisease); } } else { await diseaseMethods.InsertDisease(new BasicDiseases() { Name = docKitDName.Text, Description = docKitDDescription.Text, Symptoms = ExtraModules.RemoveExtraCommas(docKitDSymptoms.Text), Image = decodedImage }); this.ocString.Add(docKitDName.Text); docKitListBox.SelectedIndex = this.ocString.IndexOf(docKitDName.Text); if (ocString.Count() == 1) { this.showDiseaseItems(); await this.UpdateDiseaseData(new BasicDiseases() { Name = docKitDName.Text, Description = docKitDDescription.Text, Symptoms = ExtraModules.RemoveExtraCommas(docKitDSymptoms.Text), Image = decodedImage }); docKitDelBut.IsEnabled = true; docKitEditBut.IsEnabled = true; } } docKitDialog.IsOpen = false; //After everything is stored/Updated in database we need to reset all the fields. this.ClearFormFields(); } } } else { if (docKitFAName.Text.Equals("") || docKitFASymptoms.Text.Equals("") || docKitFADescription.Text.Equals("") || docKitFAImage.Text.Equals("")) { docKitFAErrorDescription.Visibility = Windows.UI.Xaml.Visibility.Visible; } else { if (isUpdating == true) { if (docKitListBox.SelectedItem != null) { //Find that object's instance and change its values BasicFirstAid tempFirstAid = await firstAidMethods.FindSingleFirstAid(this.ocString[docKitListBox.SelectedIndex].ToString()); tempFirstAid.Name = docKitFAName.Text; tempFirstAid.FirstAid = docKitFADescription.Text; tempFirstAid.Image = decodedImage; tempFirstAid.DoNot = docKitFASymptoms.Text; await firstAidMethods.UpdateFirstAid(tempFirstAid); isUpdating = false; docKitFAName.IsReadOnly = false; await this.UpdateFirstAidData(tempFirstAid); } } else { await firstAidMethods.InsertFirstAid(new BasicFirstAid() { Name = docKitFAName.Text, FirstAid = docKitFADescription.Text, DoNot = docKitFASymptoms.Text, Image = decodedImage }); this.ocString.Add(docKitFAName.Text); docKitListBox.SelectedIndex = this.ocString.IndexOf(docKitFAName.Text); if (ocString.Count() == 1) { this.showFirstAidItems(); await this.UpdateFirstAidData(new BasicFirstAid() { Name = docKitFAName.Text, FirstAid = docKitFADescription.Text, DoNot = docKitFASymptoms.Text, Image = decodedImage }); docKitDelBut.IsEnabled = true; docKitEditBut.IsEnabled = true; } } docKitDialogFirstAid.IsOpen = false; //After everything is stored/Updated in database we need to reset all the fields. this.ClearFormFields(); } } }
private async Task <int> UpdateDetails() { double height = ((VisitHeightFeet.SelectedIndex + 1) * 12 + VisitHeightInch.SelectedIndex) * 0.0254; int weight = Int32.Parse(VisitWeight.Text.ToString()); string DateVisited = VisitYearComboBox.Items[VisitYearComboBox.SelectedIndex].ToString() + "-" + VisitMonthComboBox.Items[VisitMonthComboBox.SelectedIndex].ToString() + "-" + VisitDayComboBox.Items[VisitDayComboBox.SelectedIndex].ToString(); double bmi = ExtraModules.CalculateBMI(VisitHeightFeet.SelectedIndex + 1, VisitHeightInch.SelectedIndex, weight); try { string updateQuery = "UPDATE MedicalDetails SET TimeStamp = @ts, BloodGlucose = @bg , SystolicBP = @sbp , DiastolicBP = @dbp , DiseaseFound = @disease , Height = @height , Weight = @weight , Symptoms = @symptoms , BMI = @bmi WHERE PID = @pid AND DateVisited = @dv"; Statement statement = await this.database.PrepareStatementAsync(updateQuery); statement.BindTextParameterWithName("@pid", this.PID); statement.BindTextParameterWithName("@ts", DateTime.Now.ToString(ExtraModules.datePatt)); statement.BindTextParameterWithName("@dv", DateVisited); if (!VisitBloodGlucose.Text.ToString().Equals("")) { statement.BindIntParameterWithName("@bg", Int32.Parse(VisitBloodGlucose.Text.ToString())); } else { statement.BindIntParameterWithName("@bg", 0); } if (!VisitDiastolicBP.Text.ToString().Equals("")) { statement.BindIntParameterWithName("@dbp", Int32.Parse(VisitDiastolicBP.Text.ToString())); } else { statement.BindIntParameterWithName("@dbp", 0); } if (!VisitSystolicBP.Text.ToString().Equals("")) { statement.BindIntParameterWithName("@sbp", Int32.Parse(VisitSystolicBP.Text.ToString())); } else { statement.BindIntParameterWithName("@sbp", 0); } statement.BindTextParameterWithName("@disease", ExtraModules.removesemicolon(VisitDiseasesDiagnosed.Text.ToString())); statement.BindDoubleParameterWithName("@height", height); statement.BindIntParameterWithName("@weight", weight); statement.BindTextParameterWithName("@symptoms", ExtraModules.removesemicolon(ExtraModules.RemoveExtraCommas(ExtraModules.RemoveStringNewLine(VisitSymptoms.Text.ToString())))); statement.BindDoubleParameterWithName("@bmi", bmi); await statement.StepAsync(); } catch (Exception ex) { var result = SQLiteWinRT.Database.GetSqliteErrorCode(ex.HResult); Debug.WriteLine("CREATE_NEW_VISIT---UPDATE_DETAILS---MEDIC_DETAILS" + "\n" + ex.Message + "\n" + result.ToString()); } //statement.Reset(); //string insertBMI = "UPDATE MedicalDetailsBMI SET BMI = @bmi WHERE Height = @height AND Weight = @weight"; //statement = await this.database.PrepareStatementAsync(insertBMI); //statement.BindDoubleParameterWithName("@height", height); //statement.BindIntParameterWithName("@weight", weight); //statement.BindDoubleParameterWithName("@bmi", bmi); //await statement.StepAsync(); try { string deleteMedicine = "DELETE FROM MedicalDetailsMedicine WHERE PID = @pid AND DateVisited = @dv"; Statement statement = await this.database.PrepareStatementAsync(deleteMedicine); statement.BindTextParameterWithName("@pid", this.PID); statement.BindTextParameterWithName("@dv", DateVisited); await statement.StepAsync(); } catch (Exception ex) { var result = SQLiteWinRT.Database.GetSqliteErrorCode(ex.HResult); Debug.WriteLine("CREATE_NEW_VISIT---UPDATE_DETAILS---MEDIC_DETAILS_DEL" + "\n" + ex.Message + "\n" + result.ToString()); } try { string deleteVaccine = "DELETE FROM MedicalDetailsVaccine WHERE PID = @pid AND DateVisited = @dv"; Statement statement = await this.database.PrepareStatementAsync(deleteVaccine); statement.BindTextParameterWithName("@pid", this.PID); statement.BindTextParameterWithName("@dv", DateVisited); await statement.StepAsync(); } catch (Exception ex) { var result = SQLiteWinRT.Database.GetSqliteErrorCode(ex.HResult); Debug.WriteLine("CREATE_NEW_VISIT---UPDATE_DETAILS---MEDIC_DETAILS_VACCINE_DEL" + "\n" + ex.Message + "\n" + result.ToString()); } try { string insertMedicine = "INSERT INTO MedicalDetailsMedicine (TimeStamp, PID, DateVisited, Medicine) VALUES (@ts, @pid, @dv, @medicine)"; foreach (string str in ExtraModules.RemoveExtraCommas(ExtraModules.RemoveStringNewLine(VisitMedicineGiven.Text.ToString())).Split(',')) { if (str != "") { Statement statement = await this.database.PrepareStatementAsync(insertMedicine); statement.BindTextParameterWithName("@pid", this.PID); statement.BindTextParameterWithName("@ts", DateTime.Now.ToString(ExtraModules.datePatt)); statement.BindTextParameterWithName("@dv", DateVisited); statement.BindTextParameterWithName("@medicine", ExtraModules.removesemicolon(str)); await statement.StepAsync(); statement.Reset(); } } } catch (Exception ex) { var result = SQLiteWinRT.Database.GetSqliteErrorCode(ex.HResult); Debug.WriteLine("CREATE_NEW_VISIT---UPDATE_DETAILS---MEDIC_DETAILS_MEDICINE_INSERT" + "\n" + ex.Message + "\n" + result.ToString()); } try { string insertVaccine = "INSERT INTO MedicalDetailsVaccine (TimeStamp, PID, DateVisited, Vaccine) VALUES (@ts, @pid, @dv, @vaccine)"; foreach (string str in ExtraModules.RemoveExtraCommas(ExtraModules.RemoveStringNewLine(VisitVaccine.Text.ToString())).Split(',')) { if (str != "") { Statement statement = await this.database.PrepareStatementAsync(insertVaccine); statement.BindTextParameterWithName("@pid", this.PID); statement.BindTextParameterWithName("@ts", DateTime.Now.ToString(ExtraModules.datePatt)); statement.BindTextParameterWithName("@dv", DateVisited); statement.BindTextParameterWithName("@vaccine", ExtraModules.removesemicolon(str)); await statement.StepAsync(); statement.Reset(); } } } catch (Exception ex) { var result = SQLiteWinRT.Database.GetSqliteErrorCode(ex.HResult); Debug.WriteLine("CREATE_NEW_VISIT---UPDATE_DETAILS---MEDIC_DETAILS_VACCINE_INSERT" + "\n" + ex.Message + "\n" + result.ToString()); } this.ClearAllFields(); isUpdating = false; this.UpdateEditedDetails(); return(DBConnect.RESULT_OK); }
private async void UpdateEditedDetails() { if (VisitListBox.SelectedItem != null) { try { string query = "SELECT * FROM MedicalDetails WHERE PID = @pid AND DateVisited = @dv"; Statement statement = await this.database.PrepareStatementAsync(query); statement.BindTextParameterWithName("@pid", this.PID); statement.BindTextParameterWithName("@dv", VisitListBox.Items[VisitListBox.SelectedIndex].ToString()); statement.EnableColumnsProperty(); if (await statement.StepAsync()) { VisitSymptomsPanel.Children.Clear(); foreach (string str in statement.Columns["Symptoms"].Split(',')) { StackPanel VisitSymptomsStackPanels = new StackPanel(); VisitSymptomsStackPanels.Margin = new Thickness(0, 15, 0, 0); VisitSymptomsStackPanels.Orientation = Orientation.Horizontal; TextBlock dot = new TextBlock(); dot.Width = 10; dot.FontSize = 15; dot.Text = "•"; VisitSymptomsStackPanels.Children.Add(dot); TextBlock vaccineName = new TextBlock(); vaccineName.Width = 280; vaccineName.Text = ExtraModules.RemoveExtraCommas(ExtraModules.RemoveStringSpace(str)); vaccineName.TextWrapping = TextWrapping.Wrap; vaccineName.FontSize = 15; VisitSymptomsStackPanels.Children.Add(vaccineName); VisitSymptomsPanel.Children.Add(VisitSymptomsStackPanels); } VisitTextDisease.Text = "\n" + statement.Columns["DiseaseFound"]; VisitTextBG.Text = statement.Columns["BloodGlucose"]; VisitTextBP.Text = statement.Columns["SystolicBP"] + "/" + statement.Columns["DiastolicBP"]; double BMIDouble = Convert.ToDouble(statement.Columns["BMI"]); Double BMIRounded3 = Math.Round(BMIDouble, 3); VisitTextBMI.Text = BMIRounded3.ToString(); VisitTextWeight.Text = statement.Columns["Weight"]; VisitTextHeight.Text = statement.Columns["Height"]; } } catch (Exception ex) { var result = SQLiteWinRT.Database.GetSqliteErrorCode(ex.HResult); Debug.WriteLine("CREATE_NEW_VISIT---UPDATE_EDITED_DETAILS" + "\n" + ex.Message + "\n" + result.ToString()); } try { string query = "SELECT * FROM MedicalDetailsMedicine WHERE PID = @pid AND DateVisited = @dv"; Statement statement = await this.database.PrepareStatementAsync(query); statement.BindTextParameterWithName("@pid", this.PID); statement.BindTextParameterWithName("@dv", VisitListBox.Items[VisitListBox.SelectedIndex].ToString()); statement.EnableColumnsProperty(); VisitTextMedicines.Children.Clear(); while (await statement.StepAsync()) { StackPanel VisitMedicineStackPanels = new StackPanel(); VisitMedicineStackPanels.Margin = new Thickness(0, 15, 0, 0); VisitMedicineStackPanels.Orientation = Orientation.Horizontal; TextBlock dot = new TextBlock(); dot.Width = 10; dot.FontSize = 15; dot.Text = "•"; VisitMedicineStackPanels.Children.Add(dot); TextBlock medicineName = new TextBlock(); medicineName.Width = 280; medicineName.Text = ExtraModules.RemoveExtraCommas(ExtraModules.RemoveStringSpace(statement.Columns["Medicine"])); medicineName.TextWrapping = TextWrapping.Wrap; medicineName.FontSize = 15; VisitMedicineStackPanels.Children.Add(medicineName); VisitTextMedicines.Children.Add(VisitMedicineStackPanels); } } catch (Exception ex) { var result = SQLiteWinRT.Database.GetSqliteErrorCode(ex.HResult); Debug.WriteLine("CREATE_NEW_VISIT---UPDATE_EDITED_DETAILS---MEDICINE" + "\n" + ex.Message + "\n" + result.ToString()); } try { string query = "SELECT * FROM MedicalDetailsVaccine WHERE PID = @pid AND DateVisited = @dv"; Statement statement = await this.database.PrepareStatementAsync(query); statement.BindTextParameterWithName("@pid", this.PID); statement.BindTextParameterWithName("@dv", VisitListBox.Items[VisitListBox.SelectedIndex].ToString()); statement.EnableColumnsProperty(); VisitTextVaccine.Children.Clear(); while (await statement.StepAsync()) { if (statement.Columns["Vaccine"].Equals("")) { break; } StackPanel VisitVaccineStackPanels = new StackPanel(); VisitVaccineStackPanels.Margin = new Thickness(0, 15, 0, 0); VisitVaccineStackPanels.Orientation = Orientation.Horizontal; TextBlock dot = new TextBlock(); dot.Width = 10; dot.FontSize = 15; dot.Text = "•"; VisitVaccineStackPanels.Children.Add(dot); TextBlock VaccineName = new TextBlock(); VaccineName.Width = 280; VaccineName.Text = ExtraModules.RemoveExtraCommas(ExtraModules.RemoveStringSpace(statement.Columns["Vaccine"])); VaccineName.TextWrapping = TextWrapping.Wrap; VaccineName.FontSize = 15; VisitVaccineStackPanels.Children.Add(VaccineName); VisitTextVaccine.Children.Add(VisitVaccineStackPanels); } } catch (Exception ex) { var result = SQLiteWinRT.Database.GetSqliteErrorCode(ex.HResult); Debug.WriteLine("CREATE_NEW_VISIT---UPDATE_EDITED_DETAILS---VACCINE" + "\n" + ex.Message + "\n" + result.ToString()); } this.visibleStackPanels(); } }
private async Task <int> InsertDetails() { double height = ((VisitHeightFeet.SelectedIndex + 1) * 12 + VisitHeightInch.SelectedIndex) * 0.0254; int weight = Int32.Parse(VisitWeight.Text.ToString()); string DateVisited = VisitYearComboBox.Items[VisitYearComboBox.SelectedIndex].ToString() + "-" + VisitMonthComboBox.Items[VisitMonthComboBox.SelectedIndex].ToString() + "-" + VisitDayComboBox.Items[VisitDayComboBox.SelectedIndex].ToString(); double bmi = ExtraModules.CalculateBMI(VisitHeightFeet.SelectedIndex + 1, VisitHeightInch.SelectedIndex, weight); try { string insertQuery = "INSERT INTO MedicalDetails (TimeStamp ,PID, DateVisited, Age, BloodGlucose, SystolicBP, DiastolicBP, DiseaseFound, Height, Weight, Symptoms, BMI) " + "VALUES (@ts, @pid, @dv, @age, @bg, @sbp, @dbp, @disease, @height, @weight, @symptoms, @bmi)"; Statement statement = await this.database.PrepareStatementAsync(insertQuery); statement.BindTextParameterWithName("@pid", this.PID); statement.BindTextParameterWithName("@ts", DateTime.Now.ToString(ExtraModules.datePatt)); statement.BindTextParameterWithName("@dv", DateVisited); statement.BindIntParameterWithName("@age", await this.GetPatientAge(this.PID)); if (!VisitBloodGlucose.Text.ToString().Equals("")) { statement.BindIntParameterWithName("@bg", Int32.Parse(VisitBloodGlucose.Text.ToString())); } else { statement.BindIntParameterWithName("@bg", 0); } if (!VisitDiastolicBP.Text.ToString().Equals("")) { statement.BindIntParameterWithName("@dbp", Int32.Parse(VisitDiastolicBP.Text.ToString())); } else { statement.BindIntParameterWithName("@dbp", 0); } if (!VisitSystolicBP.Text.ToString().Equals("")) { statement.BindIntParameterWithName("@sbp", Int32.Parse(VisitSystolicBP.Text.ToString())); } else { statement.BindIntParameterWithName("@sbp", 0); } statement.BindTextParameterWithName("@disease", VisitDiseasesDiagnosed.Text.ToString()); statement.BindDoubleParameterWithName("@height", height); statement.BindIntParameterWithName("@weight", weight); statement.BindTextParameterWithName("@symptoms", ExtraModules.RemoveExtraCommas(ExtraModules.RemoveStringNewLine(VisitSymptoms.Text.ToString()))); statement.BindDoubleParameterWithName("@bmi", bmi); await statement.StepAsync(); } catch (Exception ex) { var result = SQLiteWinRT.Database.GetSqliteErrorCode(ex.HResult); Debug.WriteLine("CREATE_NEW_VISIT---INSERT_DETAILS---MEDIC_DETAILS" + "\n" + ex.Message + "\n" + result.ToString()); } try { string insertMedicine = "INSERT INTO MedicalDetailsMedicine (TimeStamp, PID, DateVisited, Medicine) VALUES (@ts, @pid, @dv, @medicine)"; foreach (string str in ExtraModules.RemoveExtraCommas(ExtraModules.RemoveStringNewLine(VisitMedicineGiven.Text.ToString())).Split(',')) { Statement statement = await this.database.PrepareStatementAsync(insertMedicine); statement.BindTextParameterWithName("@pid", this.PID); statement.BindTextParameterWithName("@ts", DateTime.Now.ToString(ExtraModules.datePatt)); statement.BindTextParameterWithName("@dv", DateVisited); statement.BindTextParameterWithName("@medicine", ExtraModules.removesemicolon(str)); await statement.StepAsync(); statement.Reset(); } } catch (Exception ex) { var result = SQLiteWinRT.Database.GetSqliteErrorCode(ex.HResult); Debug.WriteLine("CREATE_NEW_VISIT---INSERT_DETAILS---MEDIC_DETAILS_MEDICINE" + "\n" + ex.Message + "\n" + result.ToString()); } try { string insertVaccine = "INSERT INTO MedicalDetailsVaccine (TimeStamp, PID, DateVisited, Vaccine) VALUES (@ts, @pid, @dv, @vaccine)"; foreach (string str in ExtraModules.RemoveExtraCommas(ExtraModules.RemoveStringNewLine(VisitVaccine.Text.ToString())).Split(',')) { Statement statement = await this.database.PrepareStatementAsync(insertVaccine); statement.BindTextParameterWithName("@pid", this.PID); statement.BindTextParameterWithName("@ts", DateTime.Now.ToString(ExtraModules.datePatt)); statement.BindTextParameterWithName("@dv", DateVisited); statement.BindTextParameterWithName("@vaccine", ExtraModules.removesemicolon(str)); await statement.StepAsync(); statement.Reset(); } this.ocString.Add(DateVisited); } catch (Exception ex) { var result = SQLiteWinRT.Database.GetSqliteErrorCode(ex.HResult); Debug.WriteLine("CREATE_NEW_VISIT---UPDATE_DETAILS---MEDIC_DETAILS_VACCINE" + "\n" + ex.Message + "\n" + result.ToString()); } this.ClearAllFields(); VisitListBox.SelectedIndex = this.ocString.IndexOf(DateVisited); if (this.ocString.Count() == 1) { this.visibleStackPanels(); } return(DBConnect.RESULT_OK); }