protected async override void OnNavigatedTo(NavigationEventArgs e) { var parameters = (WorkoutDetailsParams)e.Parameter; m_trainingProgram = parameters.trainingProgram; m_workout = parameters.workout; var tasks = new List <Task <DefaultExercise> >(); var exerciseIds = m_workout.ExercisesIds.Split(';').ToList(); ObservableCollection <string> listItems = new ObservableCollection <string>(); foreach (var id in exerciseIds) { tasks.Add(App.DefaultExercisesTable.LookupAsync(id)); } var results = (await Task.WhenAll(tasks)).ToList(); foreach (var result in results) { var ex = await App.DefaultExercisesTable.LookupAsync(result.Id); m_exercises.Add(ex); listItems.Add(ex.Name); } exercisesList.ItemsSource = listItems; }
public UserTrainingProgram CreateUserTrainingProgram(DefaultTrainingProgram defaultProgram) { var userPreferredWorkoutDays = user.PreferredWorkoutDays.Split(';'); var userProgram = new UserTrainingProgram() { Difficulty = defaultProgram.Difficulty, DurationInWeeks = defaultProgram.DurationInWeeks, TrainingProgramGoal = defaultProgram.TrainingProgramGoal, TrainingProgramType = defaultProgram.TrainingProgramType, Name = defaultProgram.Name, Id = Guid.NewGuid().ToString() }; int currentWorkoutId = 0; var workoutsIds = defaultProgram.WorkoutIds.Split(';'); foreach (var day in userPreferredWorkoutDays) { switch (day) { case "1": userProgram.SundayWorkoutId = workoutsIds[currentWorkoutId]; break; case "2": userProgram.MondayWorkoutId = workoutsIds[currentWorkoutId]; break; case "3": userProgram.TuesdayWorkoutId = workoutsIds[currentWorkoutId]; break; case "4": userProgram.WednesdayWorkoutId = workoutsIds[currentWorkoutId]; break; case "5": userProgram.ThursdayWorkoutId = workoutsIds[currentWorkoutId]; break; case "6": userProgram.FridayWorkoutId = workoutsIds[currentWorkoutId]; break; case "7": userProgram.SaturdayWorkoutId = workoutsIds[currentWorkoutId]; break; } currentWorkoutId = (currentWorkoutId + 1) % workoutsIds.Count(); } return(userProgram); }
protected override async void OnNavigatedTo(NavigationEventArgs e) { this.Frame.BackStack.Clear(); var parameters = (MainDashboardParams)e.Parameter; CurrentUser = parameters.User; currentTrainingProgram = await App.UserTrainingProgramsTable.LookupAsync(CurrentUser.CurrentTrainingProgramId); StartWorkout.IsEnabled = true; Check.IsEnabled = true; Statistics.IsEnabled = true; Title.Text = "Welcome back, " + CurrentUser.Name + "!"; }
protected override void OnNavigatedTo(NavigationEventArgs e) { var parameters = (ExerciseDetailsParams)e.Parameter; m_exercise = parameters.ex; m_trainingProgram = parameters.trainingProgram; bitmapImage1 = new BitmapImage(); bitmapImage2 = new BitmapImage(); GuidImage.Width = bitmapImage1.DecodePixelWidth = 800; //natural px width of image source // don't need to set Height, system maintains aspect ratio, and calculates the other // dimension, so long as one dimension measurement is provided GuidImage.Width = bitmapImage2.DecodePixelWidth = 800; bitmapImage1.UriSource = new Uri(m_exercise.GuidnaceImages.Split(';')[0]); bitmapImage2.UriSource = new Uri(m_exercise.GuidnaceImages.Split(';')[1]); //set image source GuidImage.Source = bitmapImage1; // Time DispatcherTimer dispatcherTimer = new DispatcherTimer(); dispatcherTimer.Tick += dispatcherTimer_Tick; dispatcherTimer.Interval = new TimeSpan(0, 0, 1); dispatcherTimer.Start(); Name.Text = m_exercise.Name; Muscle.Text = m_exercise.getMuscleName(); switch (m_trainingProgram.Difficulty) { case Difficulty.Begginer: Reps.Text = m_exercise.BegginerReps.ToString(); Sets.Text = m_exercise.BegginerSets.ToString(); break; case Difficulty.Intermediate: Reps.Text = m_exercise.IntermediateReps.ToString(); Sets.Text = m_exercise.IntermediateSets.ToString(); break; case Difficulty.Expert: Reps.Text = m_exercise.ExpertReps.ToString(); Sets.Text = m_exercise.ExpertSets.ToString(); break; } }
private async void Button_Click(object sender, RoutedEventArgs e) { UserTrainingProgram chosenTrainingProgram = null; if ((bool)FirstOption.IsChecked) { chosenTrainingProgram = optionalPrograms[0]; } else if ((bool)SecondOption.IsChecked) { chosenTrainingProgram = optionalPrograms[1]; } else { chosenTrainingProgram = optionalPrograms[2]; } user.CurrentTrainingProgramId = chosenTrainingProgram.Id; try { // Save user details in DB await UserTrainingProgramsTable.InsertAsync(chosenTrainingProgram); await UsersTable.InsertAsync(user); // Show confirmation massage MessageDialog confirmation = new MessageDialog("Thanks, you are now registered!"); await confirmation.ShowAsync(); var parameters = new MainDashboardParams(user); Frame.Navigate(typeof(MainDashboard), parameters); } catch (Exception) { MessageDialog msgDialogError = new MessageDialog("Sorry, we had an error. Please try again."); } }
protected override void OnNavigatedTo(NavigationEventArgs e) { trainingProgram = (UserTrainingProgram)e.Parameter; ObservableCollection <string> listItems = new ObservableCollection <string>(); if (trainingProgram.SundayWorkoutId != null) { listItems.Add("Sunday workout"); } if (trainingProgram.MondayWorkoutId != null) { listItems.Add("Monday workout"); } if (trainingProgram.TuesdayWorkoutId != null) { listItems.Add("Tuesday workout"); } if (trainingProgram.WednesdayWorkoutId != null) { listItems.Add("Wednesday workout"); } if (trainingProgram.ThursdayWorkoutId != null) { listItems.Add("Thursday workout"); } if (trainingProgram.FridayWorkoutId != null) { listItems.Add("Friday workout"); } if (trainingProgram.SaturdayWorkoutId != null) { listItems.Add("Saturday workout"); } workoutList.ItemsSource = listItems; }
private async void workoutList_ItemClickAsync(object sender, ItemClickEventArgs e) { string item = (string)e.ClickedItem; string workoutId = trainingProgram.SundayWorkoutId; switch (item) { case "Sunday workout": workoutId = trainingProgram.SundayWorkoutId; break; case "Monday workout": workoutId = trainingProgram.MondayWorkoutId; break; case "Tuesday workout": workoutId = trainingProgram.TuesdayWorkoutId; break; case "Wednesday workout": workoutId = trainingProgram.WednesdayWorkoutId; break; case "Thursday workout": workoutId = trainingProgram.ThursdayWorkoutId; break; case "Friday workout": workoutId = trainingProgram.FridayWorkoutId; break; case "Saturday workout": workoutId = trainingProgram.SaturdayWorkoutId; break; } var parameters = new WorkoutDetailsParams(workoutId, trainingProgram); var tasks = new List <Task <DefaultExercise> >(); m_workout = parameters.workout; if (parameters.workout == null) { m_workoutId = parameters.workoutId; m_workout = await App.DefaultWorkoutsTable.LookupAsync(m_workoutId); } trainingProgram = parameters.trainingProgram; var exerciseIds = m_workout.ExercisesIds.Split(';').ToList(); ObservableCollection <string> listItems = new ObservableCollection <string>(); foreach (var id in exerciseIds) { tasks.Add(App.DefaultExercisesTable.LookupAsync(id)); } var results = (await Task.WhenAll(tasks)).ToList(); foreach (var result in results) { var ex = await App.DefaultExercisesTable.LookupAsync(result.Id); m_exercises.Add(ex); listItems.Add(ex.Name); } exercisesList.ItemsSource = listItems; }
public WorkoutDetailsParams(DefaultWorkout workout, UserTrainingProgram trainingProgram) { this.workout = workout; this.trainingProgram = trainingProgram; }
public WorkoutDetailsParams(string workoutId, UserTrainingProgram trainingProgram) { this.workoutId = workoutId; this.trainingProgram = trainingProgram; }
public ExerciseDetailsParams(DefaultExercise ex, UserTrainingProgram trainingProgram) { this.ex = ex; this.trainingProgram = trainingProgram; }