Ejemplo n.º 1
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);
        }
Ejemplo n.º 2
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);
        }