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);
                }
            }
        }
Example #3
0
        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));
                    }
                }
            }
        }
Example #4
0
        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();
        }
Example #5
0
        // 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")));
        }
Example #7
0
        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);
            }
        }
Example #9
0
        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");
                }
            }
        }
Example #10
0
        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;
        }
Example #11
0
        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;
        }