Пример #1
0
        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;
        }
Пример #2
0
        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);
        }
Пример #3
0
        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 + "!";
        }
Пример #4
0
        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;
            }
        }
Пример #5
0
        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;
        }
Пример #8
0
 public WorkoutDetailsParams(DefaultWorkout workout, UserTrainingProgram trainingProgram)
 {
     this.workout         = workout;
     this.trainingProgram = trainingProgram;
 }
Пример #9
0
 public WorkoutDetailsParams(string workoutId, UserTrainingProgram trainingProgram)
 {
     this.workoutId       = workoutId;
     this.trainingProgram = trainingProgram;
 }
Пример #10
0
 public ExerciseDetailsParams(DefaultExercise ex, UserTrainingProgram trainingProgram)
 {
     this.ex = ex;
     this.trainingProgram = trainingProgram;
 }