public async Task <IEnumerable <WorkoutExecutionDTO> > Handle(GetUserWorkoutsQuery request, CancellationToken cancellationToken) { var workouts = await _workoutExecutionRepository.GetAllUserWorkutPlansAsync(request.Username); return(workouts.Select(workout => new WorkoutExecutionDTO { Created = workout.Created, Description = workout.Description, Exercises = workout.Exercises.Select(x => new ExerciseExecutionDTO { ExerciseName = x.ExerciseName, ExerciseId = x.ExerciseId, AdditionalKgs = x.AdditionalKgs, Break = x.Break, Description = x.Description, Series = x.Series, Reps = x.Reps, Order = x.Order }), ExternalId = workout.ExternalId, Fatigue = workout.FatigueId, IsPublic = workout.IsPublic, Mood = workout.MoodId, Name = workout.Name, Executed = workout.Executed })); }
public async Task <WorkoutExecutionDTO> Handle(GetUserWorkoutQuery request, CancellationToken cancellationToken) { var workouts = await _workoutExecutionRepository.GetAllUserWorkutPlansAsync(request.OwnerName); var workout = workouts.First(x => x.ExternalId == request.ExternalId); if (!workout.IsPublic || request.IssuerName != request.OwnerName) { throw new Exception(); } return(new WorkoutExecutionDTO { Created = workout.Created, Description = workout.Description, Exercises = workout.Exercises.Select(x => new ExerciseExecutionDTO { ExerciseName = x.ExerciseName, ExerciseId = x.ExerciseId, AdditionalKgs = x.AdditionalKgs, Break = x.Break, Description = x.Description, Series = x.Series, Reps = x.Reps, Order = x.Order }), ExternalId = workout.ExternalId, Fatigue = workout.FatigueId, IsPublic = workout.IsPublic, Mood = workout.MoodId, Name = workout.Name, Executed = workout.Executed }); }