/// <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(); }
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); }
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(); }
//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); } }
/// <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(); } }