public async Task <IActionResult> HistoryDetails(int id) { var resourceParameters = new WorkoutHistoryOfmResourceParameters() { IncludeExerciseHistories = "1", IncludePreviousExerciseHistories = "1", IncludeCardioSets = "1", IncludeWeightLiftingSets = "1" }; var workoutHistoryViewModelQueryResult = await _workoutHistoryViewModelRepository.GetById(id, resourceParameters); if (workoutHistoryViewModelQueryResult.HttpStatusCode == HttpStatusCode.Unauthorized || workoutHistoryViewModelQueryResult.HttpStatusCode == HttpStatusCode.Forbidden) { return(RedirectToAction("AccessDenied", "Authorization")); } WorkoutHistoryViewModel workoutHistoryViewModel = null; if ((int)workoutHistoryViewModelQueryResult.HttpStatusCode == 200) { workoutHistoryViewModel = workoutHistoryViewModelQueryResult.ViewModel; } return(View("HistoryDetails", workoutHistoryViewModel)); }
private WorkoutHistoryViewModel GetWorkoutHistoryViewModel(WorkoutHistory before, WorkoutHistory after) { var afterVm = new WorkoutHistoryViewModel(after); for (int i = 0; i < afterVm.MuscleExerciseViewModels.Count; i++) { for (int j = 0; j < afterVm.MuscleExerciseViewModels[i].Exercises.Count; j++) { var afterExercise = afterVm.MuscleExerciseViewModels[i].Exercises[j]; if (j == before.MuscleExercises[i].Exercises.Count) { afterExercise.AddedExercise = true; break; } var beforeExercise = before.MuscleExercises[i].Exercises[j]; for (int k = 0; k < afterExercise.SetViewModels.Count; k++) { var afterSet = afterExercise.SetViewModels[k]; if (k == beforeExercise.Sets.Count) { afterSet.SetAdded = true; break; } var beforeSet = beforeExercise.Sets[k]; if (afterSet.Reps != beforeSet.Reps) { afterSet.RepsChanged = true; } if (afterSet.Rest != beforeSet.Rest) { afterSet.RestChanged = true; } } } } return(afterVm); }