Exemplo n.º 1
0
        public async Task AddExerciseToInternalDb(string pickerListString)
        {
            var exerciseId = await ExerciseName.GetAllExerciseNameRecordsByExerciseNameString(_connection, pickerListString);

            if (exerciseId.Count > 1)
            {
                return;
            }

            int      exerciseIdForInsert = exerciseId[0].Id;
            DateTime now      = DateTime.Now;
            var      exercise = new Models.Persistence.Exercise
            {
                DateOfExercise = now,
                WorkoutId      = WorkoutId,
                ExerciseNameId = exerciseIdForInsert
            };

            await _connection.InsertAsync(exercise);

            var exerciseCheck = await Exercise.GetAllExerciseRecordsByDate(_connection, now);

            WorkoutList workout = new WorkoutList()
            {
                Id = WorkoutId
            };

            await Navigation.PushAsync(new Views.Workout.ViewExercisesPage(workout));

            Navigation.RemovePage(this);
        }
Exemplo n.º 2
0
        public async Task UpdateExercise(string pickerListString, DateTime date)
        {
            var exerciseId = await ExerciseName.GetAllExerciseNameRecordsByExerciseNameString(_connection, pickerListString);

            if (exerciseId.Count > 1)
            {
                return;
            }

            int exerciseIdForInsert = exerciseId[0].Id;

            var exercise = new Models.Persistence.Exercise
            {
                Id             = ExerciseId,
                DateOfExercise = date,
                WorkoutId      = WorkoutId,
                ExerciseNameId = exerciseIdForInsert
            };

            await _connection.UpdateAsync(exercise);

            WorkoutList workout = new WorkoutList()
            {
                Id = WorkoutId
            };

            await Navigation.PushAsync(new Views.Workout.ViewExercisesPage(workout));

            Navigation.RemovePage(this);
        }
Exemplo n.º 3
0
        public async Task Handle_SelectedIndexChanged(object sender, System.EventArgs e)
        {
            var pickerListString = ExercisePicker.Items[ExercisePicker.SelectedIndex];

            var exerciseId = await ExerciseName.GetAllExerciseNameRecordsByExerciseNameString(_connection, pickerListString);

            if (exerciseId.Count != 1)
            {
                ExerciseHistoryLabel.Text = "No workout history available.";
            }
            else
            {
                DateTime thirtyDaysAgo      = DateTime.Now.AddDays(-30);
                int      exerciseIdForCount = exerciseId[0].Id;
                var      exerciseListForId  = await Exercise.GetAllExerciseRecordsByExerciseNameIdBeforeDate(_connection, exerciseIdForCount, thirtyDaysAgo);

                if (exerciseListForId.Count < 1)
                {
                    ExerciseHistoryLabel.Text = "No workout history available for this exercise.";
                    return;
                }

                var listOfSets = new List <Set>();

                foreach (var item in exerciseListForId)
                {
                    var sets = await Set.GetAllSetsByExerciseId(_connection, item.Id);

                    foreach (var s in sets)
                    {
                        listOfSets.Add(s);
                    }
                }

                //Number of sets in the last 30 days
                int totalSets = listOfSets.Count;                 //works

                int averageWeight = 0;
                int reps          = 0;
                foreach (var weight in listOfSets)
                {
                    averageWeight = averageWeight + (Decimal.ToInt32(weight.Weight) * weight.Reps);
                    reps          = reps + weight.Reps;
                }

                //Average weight of each rep
                decimal averageWeightOfEachRep = averageWeight / reps;

                List <Set> orderedListOfSets = listOfSets.OrderByDescending(o => o.Weight).ToList();

                //Highest weight lifted
                decimal topLift = orderedListOfSets[0].Weight;
                //For How many reps
                int topReps = orderedListOfSets[0].Reps;

                ExerciseHistoryLabel.Text = "Total sets in the last 30 days: " + totalSets + "\nLifetime average weight per rep: " + averageWeightOfEachRep + "kg \nHeaviest weight ever lifted: " + topLift + "kg for " + topReps + " reps";
            }
        }
Exemplo n.º 4
0
        protected override async void OnAppearing()
        {
            //Populate picker
            var exerciseNames = await ExerciseName.GetAllExerciseNameRecords(_connection);                          //_connection.Table<ExerciseName>().ToListAsync();

            var pickerList = new List <string>();

            foreach (var exerciseName in exerciseNames)
            {
                pickerList.Add(exerciseName.ExerciseNameString);
            }

            ExercisePicker.ItemsSource = pickerList;
        }
Exemplo n.º 5
0
        protected override async void OnAppearing()
        {
            List <ExerciseList> ListOfExercises = new List <ExerciseList>();
            var exercises = await Exercise.GetAllExercise(_connection);

            var exercisesForWorkout = new List <Exercise>();

            foreach (var e in exercises)
            {
                if (e.WorkoutId == WorkoutId)
                {
                    exercisesForWorkout.Add(e);
                }
            }

            //var exerciseGroup3 = await _connection.Table<ExerciseGroup>().ToListAsync();
            //var exerciseGroupCount = exerciseGroup3.Count;

            var exerciseName2 = await ExerciseName.GetAllExerciseNameRecords(_connection);

            var exerciseNameCount = exerciseName2.Count;


            int exerciseNumber = 1;

            foreach (var e in exercisesForWorkout)
            {
                var exerciseName = await ExerciseName.GetAllExerciseNameRecordsById(_connection, e.ExerciseNameId);

                var sets = await _connection.Table <Models.Persistence.Set>()
                           .Where(w => w.ExerciseId == e.Id).ToListAsync();

                ExerciseList exerciseFromSqLite = new ExerciseList();
                exerciseFromSqLite.Id                     = e.Id;
                exerciseFromSqLite.WorkoutId              = e.WorkoutId;
                exerciseFromSqLite.Exercise               = exerciseName[0].ExerciseNameString;
                exerciseFromSqLite.MuscleGroup            = exerciseName[0].ExerciseMuscleGroup;
                exerciseFromSqLite.Sets                   = sets.Count.ToString();
                exerciseFromSqLite.FrontEndExerciseString = exerciseNumber.ToString() + "- " + exerciseName[0].ExerciseNameString;

                ListOfExercises.Add(exerciseFromSqLite);

                exerciseNumber++;
            }


            ListViewExercises.ItemsSource = ListOfExercises;
        }
        protected override async void OnAppearing()
        {
            List <SetList> ListOfSets = new List <SetList>();
            var            sets       = await _connection.Table <Models.Persistence.Set>().ToListAsync();

            var setsForExercise = new List <Set>();


            //Exercise Name for Navigation Bar
            var exercises = await Exercise.GetAllExerciseRecordsById(_connection, ExerciseId);

            int exerciseIdForName = exercises[0].ExerciseNameId;
            var exerciseName      = await ExerciseName.GetAllExerciseNameRecordsById(_connection, exerciseIdForName);

            Title = exerciseName[0].ExerciseNameString;
            //End

            foreach (var s in sets)
            {
                if (s.ExerciseId == ExerciseId)
                {
                    setsForExercise.Add(s);
                }
            }

            foreach (var s in setsForExercise)
            {
                SetList newSetList = new SetList();
                newSetList.ExerciseId = s.ExerciseId;
                newSetList.Id         = s.Id;
                newSetList.TimeOfSet  = s.TimeOfSet;
                newSetList.Reps       = s.Reps.ToString();
                newSetList.Weight     = s.Weight.ToString();
                ListOfSets.Add(newSetList);
            }

            var sortedListOfSets = ListOfSets.OrderBy(sl => sl.TimeOfSet).ToList();
            var setNumber        = 1;

            foreach (var s in sortedListOfSets)
            {
                s.SetNumber = setNumber.ToString();
                setNumber++;
            }

            setList.ItemsSource = sortedListOfSets;
        }
Exemplo n.º 7
0
        protected override async void OnAppearing()
        {
            var exercise = await Exercise.GetAllExerciseRecordsById(_connection, ExerciseId);

            int currentExerciseId   = exercise[0].ExerciseNameId;
            var currentExerciseName = await ExerciseName.GetAllExerciseNameRecordsById(_connection, currentExerciseId);

            ExercisePicker.SelectedItem = currentExerciseName[0].ExerciseNameString;

            var exerciseNames = await ExerciseName.GetAllExerciseNameRecords(_connection);

            var pickerList = new List <string>();

            foreach (var exerciseName in exerciseNames)
            {
                pickerList.Add(exerciseName.ExerciseNameString);
            }

            DatePicker.Date            = exercise[0].DateOfExercise;
            ExercisePicker.ItemsSource = pickerList;
        }
        protected override async void OnAppearing()
        {
            //Exercise Label Text
            var exercise = await Models.Persistence.Exercise.GetAllExerciseRecordsById(_connection, ExerciseId);

            int currentExerciseId   = exercise[0].ExerciseNameId;
            var currentExerciseName = await ExerciseName.GetAllExerciseNameRecordsById(_connection, currentExerciseId);

            Exercise.Text = currentExerciseName[0].ExerciseNameString.ToString();

            //Current selections
            var sets = await _connection.Table <Models.Persistence.Set>()
                       .Where(s => s.Id == SetId).ToListAsync();

            //Populate pickers
            List <int>     reps        = new List <int>();
            List <decimal> weight      = new List <decimal>();
            int            repStart    = 0;
            decimal        weightStart = 0;

            while (repStart < 100)
            {
                reps.Add(repStart);
                repStart++;
            }

            while (weightStart < 500.00m)
            {
                weight.Add(weightStart);
                weightStart = weightStart + 0.25m;
            }

            Reps.ItemsSource   = reps;
            Weight.ItemsSource = weight;

            Reps.SelectedItem   = sets[0].Reps;
            Weight.SelectedItem = sets[0].Weight;
        }
        private async Task PopulateTablesWithData()
        {
            //await _connection.ExecuteAsync("DELETE FROM ExerciseName");
            var exerciseName1 = new ExerciseName {
                ExerciseNameString = "Bench Press", ExerciseGroupId = 4, ExerciseMuscleGroup = "Chest"
            };
            var exerciseName2 = new ExerciseName {
                ExerciseNameString = "Squat", ExerciseGroupId = 3, ExerciseMuscleGroup = "Legs"
            };
            var exerciseName3 = new ExerciseName {
                ExerciseNameString = "Military Press", ExerciseGroupId = 6, ExerciseMuscleGroup = "Shoulders"
            };
            var exerciseName4 = new ExerciseName {
                ExerciseNameString = "Deadlift", ExerciseGroupId = 5, ExerciseMuscleGroup = "Back"
            };

            await _connection.InsertAsync(exerciseName1);

            await _connection.InsertAsync(exerciseName2);

            await _connection.InsertAsync(exerciseName3);

            await _connection.InsertAsync(exerciseName4);
        }
Exemplo n.º 10
0
        protected override async void OnAppearing()
        {
            base.OnAppearing();

            List <WorkoutList> ListOfWorkouts = new List <WorkoutList>();

            //Get the records
            var workouts = await Models.Persistence.Workout.GetAllWorkoutRecordsInDescendingOrder(_connection);

            var workoutCount = workouts.Count;

            //Just grab all for now
            foreach (var w in workouts)
            {
                WorkoutList workoutFromSqlite = new WorkoutList();
                workoutFromSqlite.Id = w.Id;
                //workoutFromSqlite.Completed = w.Completed;

                workoutFromSqlite.WorkoutDate = w.WorkoutDate;                 //.ToLocalTime();
                workoutFromSqlite.Location    = w.Location;
                workoutFromSqlite.Completed   = w.Completed;
                workoutFromSqlite.UserGuid    = w.UserGuid;

                if (w.Completed == true)
                {
                    //workoutFromSqlite.CompletedString = "Completed";
                    workoutFromSqlite.CompletedString = "\u2714";
                    //workoutFromSqlite.CompletedColor = "Green";
                }
                else
                {
                    //workoutFromSqlite.CompletedString = "Not Completed";
                    workoutFromSqlite.CompletedString = "X";
                    //workoutFromSqlite.CompletedColor = "Red";
                }

                //
                List <string> fullListOfStrings = await ExerciseName.GetListOfExerciseStrings(_connection, w);

                string musclegroups = "";
                if (musclegroups == "" && fullListOfStrings.Count() == 0)
                {
                    musclegroups = "None";
                }
                else
                {
                    foreach (var str in fullListOfStrings)
                    {
                        musclegroups += str + "/";
                    }
                }

                int    muscleGroupLength   = musclegroups.Length - 1;
                char   muscleGroupLastChar = musclegroups[muscleGroupLength];
                string muscleGroupFinal    = "";
                if (muscleGroupLastChar == '/')
                {
                    //musclegroups.Remove(muscleGroupLength, 1);
                    muscleGroupFinal = musclegroups.Remove(musclegroups.Length - 1);
                }
                workoutFromSqlite.MuscleGroups = muscleGroupFinal;

                ListOfWorkouts.Add(workoutFromSqlite);
            }

            workoutList.ItemsSource = ListOfWorkouts;
        }
Exemplo n.º 11
0
        private async Task PopulateTablesWithData()
        {
            await _connection.ExecuteAsync("DELETE FROM ExerciseGroup");

            var exerciseGroup1 = new ExerciseGroup {
                ExerciseGroupName = "Upper Body"
            };                                                                           //maybe remove these two
            var exerciseGroup2 = new ExerciseGroup {
                ExerciseGroupName = "Lower Body"
            };
            var exerciseGroup3 = new ExerciseGroup {
                ExerciseGroupName = "Legs"
            };
            var exerciseGroup4 = new ExerciseGroup {
                ExerciseGroupName = "Chest"
            };
            var exerciseGroup5 = new ExerciseGroup {
                ExerciseGroupName = "Back"
            };
            var exerciseGroup6 = new ExerciseGroup {
                ExerciseGroupName = "Shoulders"
            };
            var exerciseGroup7 = new ExerciseGroup {
                ExerciseGroupName = "Core"
            };
            var exerciseGroup8 = new ExerciseGroup {
                ExerciseGroupName = "Full Body"
            };
            var exerciseGroup9 = new ExerciseGroup {
                ExerciseGroupName = "Arms"
            };
            var exerciseGroup10 = new ExerciseGroup {
                ExerciseGroupName = "Cardio"
            };

            await _connection.InsertAsync(exerciseGroup1);

            await _connection.InsertAsync(exerciseGroup2);

            await _connection.InsertAsync(exerciseGroup3);

            await _connection.InsertAsync(exerciseGroup4);

            await _connection.InsertAsync(exerciseGroup5);

            await _connection.InsertAsync(exerciseGroup6);

            await _connection.InsertAsync(exerciseGroup7);

            await _connection.InsertAsync(exerciseGroup8);

            await _connection.InsertAsync(exerciseGroup9);

            await _connection.InsertAsync(exerciseGroup10);


            await _connection.ExecuteAsync("DELETE FROM ExerciseName");

            var exerciseName1 = new ExerciseName {
                ExerciseNameString = "Bench Press", ExerciseGroupId = 4
            };
            var exerciseName2 = new ExerciseName {
                ExerciseNameString = "Squat", ExerciseGroupId = 3
            };
            var exerciseName3 = new ExerciseName {
                ExerciseNameString = "Db Shoulder Press", ExerciseGroupId = 6
            };
            var exerciseName4 = new ExerciseName {
                ExerciseNameString = "Deadlift", ExerciseGroupId = 5
            };

            // fill in later.
            //var exerciseName5 = new ExerciseName { ExerciseNameString = "", ExerciseGroupId =  };
            //var exerciseName6 = new ExerciseName { ExerciseNameString = "", ExerciseGroupId =  };
            //var exerciseName7 = new ExerciseName { ExerciseNameString = "", ExerciseGroupId =  };
            //var exerciseName8 = new ExerciseName { ExerciseNameString = "", ExerciseGroupId =  };
            //var exerciseName9 = new ExerciseName { ExerciseNameString = "", ExerciseGroupId =  };
            //var exerciseName10 = new ExerciseName { ExerciseNameString = "", ExerciseGroupId = };
            //var exerciseName11 = new ExerciseName { ExerciseNameString = "", ExerciseGroupId = };

            await _connection.InsertAsync(exerciseName1);

            await _connection.InsertAsync(exerciseName2);

            await _connection.InsertAsync(exerciseName3);

            await _connection.InsertAsync(exerciseName4);
        }
Exemplo n.º 12
0
        protected override async void OnAppearing()
        {
            var users = await Models.Persistence.UsersCredentials.GetAllUsers(_connection);

            var  user = users[0];
            Guid g    = user.UserGuid;

            string     url      = "https://myapi20180503015443.azurewebsites.net/api/OnlineProfile/GetProfile" + "?" + g;
            HttpClient client   = new HttpClient();
            var        data     = JsonConvert.SerializeObject(g);
            var        content  = new StringContent(data, Encoding.UTF8, "application/json");
            var        response = await client.PostAsync(url, content);

            var result = JsonConvert.DeserializeObject <Models.Persistence.Profile>(response.Content.ReadAsStringAsync().Result);

            HandleLabel.Text   = user.Handle;
            LocationLabel.Text = "Location: " + result.Location;
            NameLabel.Text     = result.Name;
            BioLabel2.Text     = result.Bio;
            AgeLabel.Text      = "Age: " + result.Age.ToString();


            //CREATE OBJECT FOR EDIT PROFILE PAGE
            p.Name     = result.Name;
            p.Age      = result.Age;
            p.Bio      = result.Bio;
            p.Location = result.Location;
            p.UserGuid = g;

            //GET LIST OF WORKOUTS
            List <Models.WorkoutList> ListOfWorkouts = new List <Models.WorkoutList>();

            //Get the records
            var workouts = await Models.Persistence.Workout.GetAllWorkoutRecordsInDescendingOrder(_connection);

            var workoutCount = workouts.Count;

            //Just grab all for now
            foreach (var w in workouts)
            {
                WorkoutList workoutFromSqlite = new WorkoutList();
                workoutFromSqlite.Id = w.Id;
                //workoutFromSqlite.Completed = w.Completed;

                workoutFromSqlite.WorkoutDate = w.WorkoutDate; //.ToLocalTime();
                workoutFromSqlite.Location    = w.Location;
                workoutFromSqlite.Completed   = w.Completed;
                workoutFromSqlite.UserGuid    = w.UserGuid;

                if (w.Completed == true)
                {
                    //workoutFromSqlite.CompletedString = "Completed";
                    workoutFromSqlite.CompletedString = "\u2714";
                    //workoutFromSqlite.CompletedColor = "Green";
                }
                else
                {
                    //workoutFromSqlite.CompletedString = "Not Completed";
                    workoutFromSqlite.CompletedString = "X";
                    //workoutFromSqlite.CompletedColor = "Red";
                }

                //
                List <string> fullListOfStrings = await ExerciseName.GetListOfExerciseStrings(_connection, w);

                string musclegroups = "";
                if (musclegroups == "" && fullListOfStrings.Count() == 0)
                {
                    musclegroups = "None";
                }
                else
                {
                    foreach (var str in fullListOfStrings)
                    {
                        musclegroups += str + "/";
                    }
                }

                int    muscleGroupLength   = musclegroups.Length - 1;
                char   muscleGroupLastChar = musclegroups[muscleGroupLength];
                string muscleGroupFinal    = "";
                if (muscleGroupLastChar == '/')
                {
                    //musclegroups.Remove(muscleGroupLength, 1);
                    muscleGroupFinal = musclegroups.Remove(musclegroups.Length - 1);
                }
                workoutFromSqlite.MuscleGroups = muscleGroupFinal;

                ListOfWorkouts.Add(workoutFromSqlite);
            }

            profileList.ItemsSource = ListOfWorkouts;
        }