async void ProcessGoalRequest(string goalID)
        {
            string url = AppConstants.BaseUrl + AppConstants.actionsAndInstructions + goalID;

            List <Occurance> goalList = await RdsConnect.getOccurances(url);

            if (goalList != null && goalList.Count != 0)
            {
                if (goalList[0].NumSubOccurances == 1 && goalList[0].subOccurances != null && goalList[0].subOccurances[0].instructions == null)
                {
                    // Case 1: 1 Task with no instructions

                    await Navigation.PushAsync((new GoalsSpecialPage(goalList[0])), false);
                }
                else if (goalList[0].NumSubOccurances == 1 && goalList[0].subOccurances != null && goalList[0].subOccurances[0].instructions != null && goalList[0].subOccurances[0].instructions.Count != 0)
                {
                    // Case 2: 1 Task with instructions

                    await Navigation.PushAsync(new GoalStepsPage(goalList[0], goalList[0].subOccurances[0], Color.Blue.ToString()), false);
                }
                else if (goalList[0].NumSubOccurances > 1)
                {
                    // Case 3: More than 1 task

                    await Navigation.PushAsync((new GoalsSpecialPage(goalList[0])), false);
                }
            }
        }
        private async void initialiseTodaysOccurances(string userID)
        {
            try
            {
                TimeSettings timeSettings = await RdsConnect.getTimeSettings(userID);

                if (timeSettings != null)
                {
                    DateTime morning = today.Date + timeSettings.MorningStartTime;
                    morningStart = morning;
                    DateTime afternoon = today.Date + timeSettings.AfterNoonStartTime;
                    afternoonStart = afternoon;
                    DateTime evening = today.Date + timeSettings.EveningStartTime;
                    eveningStart = evening;
                    Debug.WriteLine(morningStart.ToString() + ", " + afternoonStart.ToString() + ", " + eveningStart.ToString());
                }

                string url = AppConstants.BaseUrl + AppConstants.goalsAndRoutinesUrl + "/" + userID;
                todaysOccurances = await RdsConnect.getOccurances(url);

                todaysOccurances = todaysOccurances.Concat(todaysEvents).ToList();
                SortOccurancesAndGroupGoals();
                CreateList();
            }
            catch (Exception e)
            {
                await DisplayAlert("Alert", "Error in TodaysListTest initialiseTodaysOccurances. Error: " + e.ToString(), "OK");
            }
        }
        async void GetCurrOccurance()
        {
            if (account != null)
            {
                string url = AppConstants.BaseUrl + AppConstants.goalsAndRoutinesUrl + "/" + account.userID;

                List <Occurance> todaysOccurances = await RdsConnect.getOccurances(url);

                if (todaysOccurances == null)
                {
                    return;
                }

                if (account.isCalendarActive)
                {
                    await CallGetEvents();
                }

                DateTime dateTime = DateTime.Now;
                currOccurance = SortAndGetActivity(todaysOccurances, todaysEvents, dateTime.TimeOfDay);
                if (currOccurance == null)
                {
                    currOccurance       = new Occurance();
                    currentActivity     = "Free Time";
                    currOccurance.Title = "Pursue a Goal";
                }
                else if (currOccurance.IsEvent == true)
                {
                    currentActivity = "Event";
                }
                else if (currOccurance.IsPersistent == true)
                {
                    currentActivity = "Routine";
                }
                else if (currOccurance.IsPersistent == false)
                {
                    currentActivity = "Goal";
                }
                CenterCircle.Text = currentActivity + ": " + currOccurance.Title;
            }
        }
        async void GetGoals()
        {
            if (MainPage.account.isGoalsActive)
            {
                try
                {
                    string url = AppConstants.BaseUrl + AppConstants.goalsActInstrUrl + "/" + MainPage.account.userID;
                    currentOccurances = await RdsConnect.getOccurances(url);

                    SetGoals();
                }
                catch (Exception GetGoalsIssue)
                {
                    Debug.WriteLine("THERE WAS A PROBLEM IN THE 'GetGoals' FUNCTION: " + GetGoalsIssue.Message);
                }
            }
            else
            {
                await DisplayAlert("Oops", "Goals are not active. Please go to the 'Settings Page' and make your goals active. Thanks!", "OK");
            }
        }
Пример #5
0
        private async void initialiseTodaysOccurances(string userID)
        {
            try
            {
                await CheckVersion();

                TimeSettings timeSettings = await RdsConnect.getTimeSettings(userID);

                if (timeSettings != null)
                {
                    DateTime morning = today.Date + timeSettings.MorningStartTime;
                    morningStart = morning;
                    DateTime afternoon = today.Date + timeSettings.AfterNoonStartTime;
                    afternoonStart = afternoon;
                    DateTime evening = today.Date + timeSettings.EveningStartTime;
                    eveningStart = evening;
                    Debug.WriteLine(morningStart.ToString() + ", " + afternoonStart.ToString() + ", " + eveningStart.ToString());
                    previousTimeSettings = timeSettings;
                }

                string url = AppConstants.BaseUrl + AppConstants.goalsAndRoutinesUrl + "/" + userID;
                Debug.WriteLine("ENDPOINT: " + url);
                todaysOccurances = await RdsConnect.getOccurances(url);

                // COMMENT OUT EVENTS
                if (MainPage.account.isCalendarActive)
                {
                    await CallGetEvents();
                }
                UserDialogs.Instance.ShowLoading("Loading...");
                todaysOccurances = todaysOccurances.Concat(todaysEvents).ToList();
                SortOccurancesAndGroupGoals();
                CreateList();
                UserDialogs.Instance.HideLoading();
            }
            catch (Exception e)
            {
                await DisplayAlert("Alert", "Error in TodaysListTest initialiseTodaysOccurances. Error: " + e.ToString(), "OK");
            }
        }