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