void resetBinding()
        {
            DailyTarget target = App.todaysTarget;

            this.BindingContext = null;
            this.BindingContext = App.appUser;
            WorkoutGoal.Text    = target.workoutTarget.ToString();
            calorieSlider.Value = target.calorieTarget;
            sleepSlider.Value   = target.sleepTarget;
        }
Example #2
0
        /*Loads the user data from the json file, then checks the date
         * if the information stored in the json file is from the previous day
         * (if todays date > date stored in json file)
         *      read in the information to a user object, create a DailyResults object,
         *      and store the daily results object in the database, then clear
         *      the daily results and increment the date to start a new slate for the day.
         * The new updated User object and daily target object should be written back to json
         */
        public void loadData()
        {
            //read user info and daily target stored in json file
            appUser      = User.readFromJson();
            todaysTarget = appUser.getDailyTarget();

            System.Diagnostics.Debug.WriteLine("----------launched app.xaml.xs appUser-----------");
            System.Diagnostics.Debug.WriteLine(appUser.ToString());
            System.Diagnostics.Debug.WriteLine("----------launched app.xaml.xs todaysTarget-----------");
            System.Diagnostics.Debug.WriteLine(todaysTarget.toString());

            //check to see if the date stored is from yesterday or not
            if (appUser.getDailyTarget().date.Date < DateTime.Today.Date)
            {
                //create a new DailyResults object from the info saved
                DailyResults resultToSave = new DailyResults {
                    date           = todaysTarget.date.Date,
                    calorieTarget  = todaysTarget.calorieTarget,
                    sleepTarget    = todaysTarget.sleepTarget,
                    workoutTarget  = todaysTarget.workoutTarget,
                    caloriesLogged = todaysTarget.actualCalories,
                    sleepLogged    = todaysTarget.actualSleep,
                    workoutLogged  = todaysTarget.actualWorkout,
                    notesLogged    = todaysTarget.getNotes()
                };

                // store daily results in database
                database.SaveTargetAsync(resultToSave);

                //reset the date for the Daily Target
                todaysTarget.date = DateTime.Today;

                //reset all the logged info and notes, but not the target info
                todaysTarget.resetLoggedInfo();

                //assign todays target back to the appUser and this function saves it to json also
                appUser.setDailyTarget(todaysTarget);

                //store the updated info back json -> redundant, setDailyTarget already saves it to json
                //appUser.saveToJsonAsync();
            }
            else if (appUser.getDailyTarget().date.Date == DateTime.Today.Date)
            {
            }
        }
Example #3
0
 /* Would be used by front end if the user makes any changes to their daily target
  * Should take in a value for each of the daily target values and update all of them.
  */
 public void setDailyTarget(DailyTarget newTarget)
 {
     this.userTarget = newTarget;
     this.saveToJsonAsync();
 }