async void UpdateTaskBasedOnDoneButton() { string url = AppConstants.BaseUrl + AppConstants.updateActionAndTask; task.updateStatusIcon = "greenCheckMarkIcon"; await RdsConnect.updateOccurance(task, false, true, url); }
async void UpdateGoalOnDoneButton() { string url = AppConstants.BaseUrl + AppConstants.updateGoalAndRoutine; if (goalOccurance.NumSubOccurances == 1) { await RdsConnect.updateOccurance(goalOccurance, false, true, url); } else if (goalOccurance.NumSubOccurances > 1) { if (!AllTaskNotStarted(goalOccurance)) { if (AllTaskCompleted(goalOccurance)) { await RdsConnect.updateOccurance(goalOccurance, false, true, url); } else { await RdsConnect.updateOccurance(goalOccurance, true, false, url); } } else { await RdsConnect.updateOccurance(goalOccurance, false, false, url); } } }
async void NavigateToInstructionsPage(System.Object sender, System.EventArgs e) { var s = (StackLayout)sender; var gesture = (TapGestureRecognizer)s.GestureRecognizers[0]; var task = (SubOccurance)gesture.CommandParameter; if (task.instructions != null && task.instructions.Count != 0) { await Navigation.PushAsync(new GoalStepsPage(goalOccurance, task, Color.Blue.ToString()), false); } else { string url = AppConstants.BaseUrl + AppConstants.updateActionAndTask; if (task.statusIcon == null) { task.updateStatusIcon = "greenCheckMarkIcon"; await RdsConnect.updateOccurance(task, false, true, url); SetParticles(AllTasksAreDone(taskSource)); } else { if (task.statusIcon == "greenCheckMarkIcon") { task.updateStatusIcon = null; await RdsConnect.updateOccurance(task, false, false, url); SetParticles(AllTasksAreDone(taskSource)); } } } }
async void parentIsInProgress() { string url = AppConstants.BaseUrl + AppConstants.updateActionAndTask; string res = await RdsConnect.updateOccurance(parent, true, false, url); if (res == "Failure") { await DisplayAlert("Error", "There was an error writing to the database.", "OK"); } //currRoutine.SubOccurancesCompleted++; updateRoutine(); }
// This function updates the occurance state locally and remotely. async void UpdateOccurance(Occurance occurance) { string url = AppConstants.BaseUrl + AppConstants.updateGoalAndRoutine; if (occurance.IsComplete != true) { occurance.updateIsInProgress(false); occurance.updateIsComplete(true); await RdsConnect.updateOccurance(occurance, false, true, url); } else { occurance.updateIsInProgress(false); occurance.updateIsComplete(false); await RdsConnect.updateOccurance(occurance, false, false, url); } }
async void UpdateOccurance(Occurance occurance) { string url = AppConstants.BaseUrl + AppConstants.updateGoalAndRoutine; if (occurance.IsComplete != true) { await RdsConnect.updateOccurance(occurance, false, true, url); } else { await RdsConnect.updateOccurance(occurance, false, false, url); } DateTime start = DateTime.Today + new TimeSpan(0, 0, 0); DateTime end = DateTime.Today + new TimeSpan(23, 59, 59); Application.Current.MainPage = new NavigationPage(new GoalsPage(start.ToString("t"), end.ToString("t"))); }
async Task UpdateGoal() { string url = AppConstants.BaseUrl + AppConstants.updateGoalAndRoutine; if (!AllTasksNotStarted(taskSource)) { if (AllTasksAreDone(taskSource)) { await RdsConnect.updateOccurance(goalOccurance, false, true, url); } else { await RdsConnect.updateOccurance(goalOccurance, true, false, url); } } else { await RdsConnect.updateOccurance(goalOccurance, false, false, url); } }
async void UpateTask() { string url = AppConstants.BaseUrl + AppConstants.updateActionAndTask; if (!AllInstructionsNotStarted(items)) { if (AllInstructionsAreCompleted(items)) { task.updateStatusIcon = "greenCheckMarkIcon"; await RdsConnect.updateOccurance(task, false, true, url); } else { task.updateStatusIcon = "yellowCheckMarkIcon"; await RdsConnect.updateOccurance(task, true, false, url); } } else { task.updateStatusIcon = null; await RdsConnect.updateOccurance(task, false, false, url); } }
async void updateRoutine() { string url = AppConstants.BaseUrl + AppConstants.updateGoalAndRoutine; if (currRoutine.IsInProgress == false && currRoutine.IsComplete == false) { string res = await RdsConnect.updateOccurance(currRoutine, true, false, url); if (res == "Failure") { await DisplayAlert("Error", "There was an error writing to the database.", "OK"); } } else if (currRoutine.IsInProgress == true && currRoutine.IsComplete == false && currRoutine.NumSubOccurances == currRoutine.SubOccurancesCompleted) { string res = await RdsConnect.updateOccurance(currRoutine, false, true, url); if (res == "Failure") { await DisplayAlert("Error", "There was an error writing to the database.", "OK"); } } }
async void NotDone(System.Object sender, System.EventArgs e) { string url = AppConstants.BaseUrl + AppConstants.updateActionAndTask; string url2 = AppConstants.BaseUrl + AppConstants.updateGoalAndRoutine; var totalNumberOfCompleteInstructions = 0; foreach (Instruction instruction in items) { if (instruction.IsComplete == true) { totalNumberOfCompleteInstructions++; } } if (totalNumberOfCompleteInstructions == 0) { parent.IsComplete = false; parent.IsInProgress = false; string res = await RdsConnect.updateOccurance(parent, false, false, url); if (currRoutine.subOccurances.Count == 1) { currRoutine.IsComplete = false; currRoutine.IsInProgress = false; string res2 = await RdsConnect.updateOccurance(currRoutine, false, false, url2); } else { currRoutine.IsComplete = false; currRoutine.IsInProgress = true; string res2 = await RdsConnect.updateOccurance(currRoutine, true, false, url2); } } else { parent.IsComplete = false; parent.IsInProgress = true; string res = await RdsConnect.updateOccurance(parent, true, false, url); currRoutine.IsComplete = false; currRoutine.IsInProgress = true; string res2 = await RdsConnect.updateOccurance(currRoutine, true, false, url2); } //Application.Current.MainPage = new RoutinePage(); Debug.WriteLine(Navigation.NavigationStack[0]); string pageType = Navigation.NavigationStack[0].ToString(); NavigationPage root = new NavigationPage(new MainPage()); if (pageType == "Manifest.Views.TodaysListPage") { root.PushAsync(new TodaysListPage(), false); } else if (pageType == "Manifest.Views.RoutinesPage") { root.PushAsync(new RoutinesPage(), false); } root.PushAsync(new RoutinePage(), false); Application.Current.MainPage = root; }
async void AllDone(System.Object sender, System.EventArgs e) { // user gets a complete check mark at the parent level in all cases string url = AppConstants.BaseUrl + AppConstants.updateActionAndTask; string url2 = AppConstants.BaseUrl + AppConstants.updateGoalAndRoutine; parent.IsComplete = true; parent.IsInProgress = false; string res = await RdsConnect.updateOccurance(parent, false, true, url); if (currRoutine.subOccurances.Count == 1) { currRoutine.IsComplete = true; currRoutine.IsInProgress = false; string res2 = await RdsConnect.updateOccurance(currRoutine, false, true, url2); } else { //currRoutine.IsComplete = false; //currRoutine.IsInProgress = true; //string res2 = await RdsConnect.updateOccurance(currRoutine, true, false, url2); var status = true; foreach (SubOccurance i in currRoutine.subOccurances) { if (!(i.IsComplete == true && i.IsInProgress == false)) { status = false; break; } } if (status) { currRoutine.IsComplete = true; currRoutine.IsInProgress = false; await RdsConnect.updateOccurance(currRoutine, false, true, url2); } else { currRoutine.IsComplete = false; currRoutine.IsInProgress = true; await RdsConnect.updateOccurance(currRoutine, true, false, url2); } } //Application.Current.MainPage = new RoutinePage(); Debug.WriteLine(Navigation.NavigationStack[0]); string pageType = Navigation.NavigationStack[0].ToString(); NavigationPage root = new NavigationPage(new MainPage()); if (pageType == "Manifest.Views.TodaysListPage") { root.PushAsync(new TodaysListPage(), false); } else if (pageType == "Manifest.Views.RoutinesPage") { root.PushAsync(new RoutinesPage(), false); } root.PushAsync(new RoutinePage(), false); Application.Current.MainPage = root; }