예제 #1
0
        public IActionResult Select(SelectWorkoutViewModel selectWorkoutViewModel, DateTime date)
        {
            // show a list of EXERCISES
            IList <WorkoutViewModel> exercises = new List <WorkoutViewModel>();

            //pull all the ExerciseIDs (aka SelectedExercise) in the database for the DATE selected
            var exerciseIDsInSelectedWorkout = context
                                               .Workouts
                                               .Where(w => w.Date == date)
                                               .Select(w => w.SelectedExercise)
                                               .ToList();

            // each ID in a list of IDs
            foreach (var exerciseID in exerciseIDsInSelectedWorkout)
            {
                //convert each ExerciseIDs to its Name

                var name = context
                           .Exercises
                           .Where(e => e.ID == exerciseID)
                           .Select(m => m.Name)
                           .FirstOrDefault();

                // attach the exercise names to the ViewModel
                WorkoutViewModel newWorkoutViewModel = new WorkoutViewModel();
                newWorkoutViewModel.Name = name;
                newWorkoutViewModel.ID   = exerciseID;

                exercises.Add(newWorkoutViewModel);
            }

            //include the variable name for the list of selected exercises in the View()
            return(View("Workout", exercises));
        }
예제 #2
0
        public IActionResult Select(SelectWorkoutViewModel selectWorkoutViewModel)
        {
            // show a list of Workout options

            IList <SelectWorkoutViewModel> workouts = new List <SelectWorkoutViewModel>();

            //pull only entries with a UNIQUE date field
            var uniqueDates = context
                              .Workouts
                              .Select(w => w.Date)
                              .Distinct()
                              .ToList();

            // for each unique date
            foreach (var date in uniqueDates)
            {
                var nameOnThatDate = context
                                     .Workouts
                                     .OrderBy(m => m.Date)
                                     .Where(m => m.Date == date)
                                     .FirstOrDefault();

                // get the row of data for the unique date
                SelectWorkoutViewModel newSelectWorkoutViewModel = new SelectWorkoutViewModel();
                newSelectWorkoutViewModel.Date = date;
                newSelectWorkoutViewModel.Name = nameOnThatDate.Name;

                workouts.Add(newSelectWorkoutViewModel);
            }

            return(View("Select", workouts));
        }