Example #1
0
        //////////////////////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();
                }
            }
        }
Example #2
0
        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);
        }
Example #3
0
        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();
            }
        }
Example #4
0
        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);
        }