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); }
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); }
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"; } }
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; }
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; }
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); }
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; }
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); }
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; }