Beispiel #1
0
        private async Task AddWorkout()
        {
            if (_workout.Workout_Name is null)
            {
                await Application.Current.MainPage.DisplayAlert("Error", "Please Enter the Workout Name", "OK");

                return;
            }
            else
            {
                _workoutRepository      = new WorkoutRepository();
                _workoutDaysRepository  = new WorkoutDaysRepository();
                _exerciseRepository     = new ExerciseRepository();
                _workoutWeeksrepository = new WorkoutWeeksRepository();

                Workouts oLastWorkout = await _workoutRepository.AddWorkout(_workout);

                foreach (var item in _weeksList)
                {
                    var weekId = await _workoutWeeksrepository.AddWorkoutWeek(new WorkoutWeeks { Week = item.Week, Workout_Id = oLastWorkout.Workout_id });

                    foreach (var item2 in item.Days)
                    {
                        var dayId = await _workoutDaysRepository.AddWorkoutDay(new WorkoutDays { Day = item2.Day.ToString(), Workout_Week_Id = weekId.Id, Workout_Id = oLastWorkout.Workout_id });

                        foreach (var item3 in item2.exercisesOnDays)
                        {
                            await _exerciseRepository.AddExercise(new Exercises { Day_Id = dayId.Id, Exercise_Name = item3.ExerciseId, Sets = item3.Reps, Reps = item3.Reps, Workout_Id = oLastWorkout.Workout_id });
                        }
                    }
                }

                await _navigation.PopAsync();
            }
        }
        private async Task FetchWorkoutDetails()
        {
            _workoutRepository      = new WorkoutRepository();
            _workoutWeeksrepository = new WorkoutWeeksRepository();
            _workoutDaysRepository  = new WorkoutDaysRepository();
            _exerciseRepository     = new ExerciseRepository();

            _workout = await _workoutRepository.GetWorkout(_workout.Workout_id);

            List <WorkoutWeeks> weeks = await _workoutWeeksrepository.GetAllWorkoutWeeks(_workout.Workout_id);

            foreach (var week in weeks)
            {
                WeeksList addWeek = new WeeksList {
                    Week = week.Week
                };
                addWeek.Days = new ObservableRangeCollection <DaysInWeek>();
                var daysInWeek = await _workoutDaysRepository.GetAllWorkoutDays(week.Id);

                foreach (var day in daysInWeek)
                {
                    DaysInWeek dayToAdd = new DaysInWeek {
                        Day = Convert.ToInt32(day.Day)
                    };
                    dayToAdd.exercisesOnDays = new ObservableRangeCollection <ExercisesOnDay>();
                    var exercisesInDay = await _exerciseRepository.GetExercises(day.Id);

                    foreach (var exercise in exercisesInDay)
                    {
                        dayToAdd.exercisesOnDays.Add(new ExercisesOnDay {
                            ExerciseId = exercise.Exercise_Name, Reps = exercise.Reps, Sets = exercise.Sets
                        });
                    }
                    addWeek.Days.Add(dayToAdd);
                }

                _weeksList.Add(addWeek);
            }
        }