Exemplo n.º 1
0
        /// <summary>
        /// Mark a treatment as not completed
        /// </summary>
        /// <param name="sender"></param>
        /// <param name="e"></param>
        private void CreateTreatmentPlanNotCopletedB_Click(object sender, RoutedEventArgs e)
        {
            int             index = TreatmentsOnPlanLV.SelectedIndex;
            TreatmentOnPlan top   = ViewModel.TreatmentsOnPlan[index];

            top.IsDone = false;

            App.Data.UpdateTreatmentOnPlan(top);

            ReloadListView();
        }
Exemplo n.º 2
0
        public void AddNewTreatmentPlanTreatments(TreatmentOnPlan t)
        {
            //Keep count for Sychronization
            DAOCount++;
            FBCount++;
            sqlite.UpdateCountRecordSQlite(DAOCount);
            firebaseDAO.UpdateCountRecordFB(FBCount);

            int id = (int)sqlite.AddNewTreatmentPlanTreatments(t);

            firebaseDAO.AddNewTreatmentPlanTreatments(t, id);
        }
Exemplo n.º 3
0
        private void CreateTreatmentPlanCompletedB_Click(object sender, RoutedEventArgs e)
        {
            //get selected item index
            int             index = TreatmentsOnPlanLV.SelectedIndex;
            TreatmentOnPlan top   = ViewModel.TreatmentsOnPlan[index];

            top.CompletedDate = DateTime.Now;
            top.IsDone        = true;
            App.Data.UpdateTreatmentOnPlan(top);

            /* DAO.UpdateTreatmentOnPlan(top);
             * FireBaseDAO f = new FireBaseDAO();
             * f.UpdateTreatmentOnPlan(top);*/
            ReloadListView();
        }
Exemplo n.º 4
0
        //Update TreatmentPlanTreatments(UpdateTreatmentOnPlan) is in TreatmentPlanView
        public void UpdateTreatmentOnPlan(TreatmentOnPlan top)
        {
            //Keep count for Sychronization
            DAOCount++;

            sqlite.UpdateCountRecordSQlite(DAOCount);


            sqlite.UpdateTreatmentOnPlan(top);


            //firease
            if (!IsWorkOffline)
            {
                FBCount++;
                firebaseDAO.UpdateCountRecordFB(FBCount);
                firebaseDAO.UpdateTreatmentOnPlan(top);
            }
        }
Exemplo n.º 5
0
        /// <summary>
        /// When user select a treatment plan, it can change the state to done
        /// this will set done date to acutal date.
        /// </summary>
        /// <param name="sender"></param>
        /// <param name="e"></param>
        private void TreatmentsOnPlanLV_SelectionChanged(object sender, SelectionChangedEventArgs e)
        {
            //get selected item index
            int index = TreatmentsOnPlanLV.SelectedIndex;

            //get treatement on plan
            TreatmentOnPlan top = ViewModel.TreatmentsOnPlan[index];

            //activate button for mark as done if is not done
            if (!top.IsDone)
            {
                CreateTreatmentPlanCompletedB.IsEnabled   = true;
                CreateTreatmentPlanNotCopletedB.IsEnabled = false;
            }
            else
            {
                CreateTreatmentPlanCompletedB.IsEnabled   = false;
                CreateTreatmentPlanNotCopletedB.IsEnabled = true;
            }
        }
        /// <summary>
        /// Update the TreatmentOnPlan in the Firebase
        /// </summary>
        /// <param name="t"></param>
        public async void UpdateTreatmentOnPlan(TreatmentOnPlan t)
        {
            ConnectToFirebase();

            string userName   = DAO.GetUserID();
            String myUsername = userName;

            myUsername = myUsername.Replace(".", "-");
            String node = myUsername + "TreatmentPlanTreatments" + "/";

            var treatmentPlanTreatmentsData = new TreatmentPlanTreatmentsData
            {
                treatmentPlanTreatmentsID = t.TreatmentPlanTreatmentsID.ToString(),
                treatmentPlanID           = t.TreatmentPlanID,
                treatmentID           = t.TreatmentID,
                price                 = t.Price,
                treatmentCompleteDate = t.CompletedDate.ToString(),
                tooth                 = t.Tooth,
                comment               = t.Comment,
                isdone                = t.IsDone
            };

            var results = await firebase.Child(node).OnceAsync <TreatmentPlanTreatmentsData>();

            foreach (var details in results)
            {
                if (t.TreatmentPlanTreatmentsID == details.Object.treatmentPlanID)
                {
                    //Delete the old row by key id
                    await firebase.Child(node).Child(details.Key).DeleteAsync();

                    //add the new row
                    await firebase.Child(node).PostAsync <TreatmentPlanTreatmentsData>(treatmentPlanTreatmentsData);

                    break;
                }
            }
        }
        /// <summary>
        /// Add a new TreatmentPlanTreatments to Firebase
        /// </summary>
        /// <param name="treatmentPlanID"></param>
        /// <param name="treatmentID"></param>
        /// <param name="price"></param>
        /// <param name="treatmentCompleteDate"></param>
        public async void AddNewTreatmentPlanTreatments(TreatmentOnPlan t, int id)
        {
            ConnectToFirebase();

            string userName   = DAO.GetUserID();
            String myUsername = userName;

            myUsername = myUsername.Replace(".", "-");
            String node = myUsername + "TreatmentPlanTreatments" + "/";

            var treatmentPlanTreatmentsData = new TreatmentPlanTreatmentsData
            {
                treatmentPlanTreatmentsID = id.ToString(),
                treatmentPlanID           = t.TreatmentPlanID,
                treatmentID           = t.TreatmentID,
                price                 = t.Price,
                treatmentCompleteDate = t.CompletedDate.ToString(),
                tooth                 = t.Tooth,
                comment               = t.Comment,
                isdone                = t.IsDone
            };

            await firebase.Child(node).PostAsync <TreatmentPlanTreatmentsData>(treatmentPlanTreatmentsData);
        }
        public async void ReadDataFromSQLite()
        {
            //Open connection with Firebase
            ConnectToFirebase();

            string userName   = DAO.GetUserID();
            String myUsername = userName;

            myUsername = myUsername.Replace(".", "-");

            String TreatmentNode              = myUsername + "Treatments" + "/";
            String CustomerNode               = myUsername + "Customers" + "/";
            String TreatmentPlanNode          = myUsername + "TreatmentPlans" + "/";
            String TreatmentPlanTreatmentNode = myUsername + "TreatmentPlanTreatments" + "/";
            String PaymentNode = myUsername + "Payments" + "/";

            //Read from Customer Table SQLite and update Firebase Customer Table.
            using (SqliteConnection db =
                       new SqliteConnection("Filename=dentalManagerDB.db"))
            {
                //Delete customer table in Firebase
                DeleteCustomer();

                db.Open();

                SqliteCommand selectCommand = new SqliteCommand
                                                  ("SELECT * from customers", db);

                SqliteDataReader query = selectCommand.ExecuteReader();

                //Populate customer table in Firebase.
                while (query.Read())
                {
                    //query.GetString(0);
                    //query.GetString(1);
                    //query.GetString(2);
                    //query.GetString(4);
                    //query.GetString(5);
                    //query.GetString(6);
                    //query.GetString(7);
                    //query.GetString(8);
                    //query.GetString(9);
                    //query.GetString(10);
                    //query.GetString(11);
                    //Convert.ToDateTime(query.GetString(3));
                    //query.GetString(12);
                    AddNewCustomer(query.GetString(0), query.GetString(1), query.GetString(2), Convert.ToDateTime(query.GetString(3)).ToString(), query.GetString(4), query.GetString(5), query.GetString(6), query.GetString(7), query.GetString(8), query.GetString(9), query.GetString(10), query.GetString(11), query.GetString(12));
                }

                db.Close();
            }


            //Read from SQLite to update Firebase Treatment table in Firebase
            using (SqliteConnection db =
                       new SqliteConnection("Filename=dentalManagerDB.db"))
            {
                //Delete Treatment from Firebase
                DeleteTreatment();

                db.Open();

                SqliteCommand selectCommand = new SqliteCommand
                                                  ("SELECT * from treatment", db);

                SqliteDataReader query = selectCommand.ExecuteReader();

                //populate treatment table in Firebase
                while (query.Read())
                {
                    Treatment treatment = new Treatment(
                        query.GetInt32(0),
                        query.GetString(1),
                        query.GetDecimal(2)
                        );
                    AddNewTreatment(treatment);
                    if (query.GetInt32(0) == 1)
                    {
                        AddNewTreatment(treatment);
                    }
                }

                db.Close();
            }

            //Read from SQLite and update treatmentPlan in Firebase
            using (SqliteConnection db =
                       new SqliteConnection("Filename=dentalManagerDB.db"))
            {
                //Delete table from Firebase
                DeletTreatmentPlanState();

                db.Open();

                SqliteCommand selectCommand = new SqliteCommand
                                                  ("SELECT * from treatmentPlan", db);

                SqliteDataReader query = selectCommand.ExecuteReader();

                //Populate plan state table in Firebase.
                while (query.Read())
                {
                    int    id                    = query.GetInt32(0);
                    string custumerID            = query.GetString(1);
                    int    state                 = query.GetInt32(2);
                    string creationDate          = query.GetString(3);
                    TreatmentPlaneState tempSate = (TreatmentPlaneState)state;
                    string   date2               = query.GetString(4);
                    DateTime datetime2           = Convert.ToDateTime("01/01/0001 00:00:00");
                    if (!date2.Equals("0"))
                    {
                        datetime2 = Convert.ToDateTime(date2);
                    }

                    TreatmentPlan treatmentPlan = new TreatmentPlan(
                        custumerID,
                        tempSate,
                        Convert.ToDateTime(query.GetString(3)),
                        datetime2
                        );

                    AddNewTreatmentPlanState(id, custumerID, tempSate, creationDate, date2);
                }

                db.Close();
            }


            //Read from SQLite and update treatmentPlanTreatments in Firebase
            using (SqliteConnection db =
                       new SqliteConnection("Filename=dentalManagerDB.db"))
            {
                //Delete from DeleteTreatmentPlanTreatments in Firebase
                DeleteTreatmentPlanTreatments();

                db.Open();

                SqliteCommand selectCommand = new SqliteCommand
                                                  ("SELECT * from treatmentPlanTreatments;", db);

                SqliteDataReader query = selectCommand.ExecuteReader();

                while (query.Read())
                {
                    int      TreatmentPlanTreatmentsID = query.GetInt32(0);
                    int      TreatmentPlanID           = query.GetInt32(1);
                    int      TreatmentID = query.GetInt32(2);
                    decimal  price       = query.GetDecimal(3);
                    DateTime date        = Convert.ToDateTime(query.GetString(4));
                    int      toothNum    = query.GetInt32(5);
                    string   comments    = query.GetString(6);
                    bool     isDone      = query.GetInt32(7) == 0 ? false : true;
                    string   name        = "test";

                    TreatmentOnPlan treatmentOnPlan = new TreatmentOnPlan(
                        TreatmentPlanTreatmentsID,
                        TreatmentPlanID,
                        TreatmentID,
                        price,
                        date,
                        toothNum,
                        comments,
                        isDone,
                        name
                        );

                    AddNewTreatmentPlanTreatments(treatmentOnPlan, treatmentOnPlan.TreatmentPlanTreatmentsID);
                }

                db.Close();
            }

            //Read from SQLite and update payments in Firebase
            using (SqliteConnection db =
                       new SqliteConnection("Filename=dentalManagerDB.db"))
            {
                //Delete payment from firebase
                DeletePayments();

                db.Open();

                SqliteCommand selectCommand = new SqliteCommand
                                                  ("SELECT * from payments", db);

                SqliteDataReader query = selectCommand.ExecuteReader();

                //populate payment with info from SQLite
                while (query.Read())
                {
                    Payments payments = new Payments(
                        query.GetInt32(0),
                        query.GetInt32(1),
                        query.GetString(2),
                        query.GetFloat(3),
                        Convert.ToDateTime(query.GetString(4))
                        );
                    AddNewpaymentObject(payments);
                }

                db.Close();
            }


            //Read from SQLite and update countRecor in Firebase
            using (SqliteConnection db =
                       new SqliteConnection("Filename=dentalManagerDB.db"))
            {
                db.Open();

                SqliteCommand selectCommand = new SqliteCommand
                                                  ("SELECT * from countRecord ", db);

                SqliteDataReader query = selectCommand.ExecuteReader();

                while (query.Read())
                {
                    query.GetInt32(0);
                    int userCntNum = query.GetInt32(1);
                    query.GetString(2);

                    UpdateCountRecordFB(userCntNum);
                }

                db.Close();
            }
        }