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 Task <List <WorkoutThumbnailDTO> > Handle(GetUserWorkoutsQuery query, CancellationToken token) { return(_context.Workouts .Where(x => x.DeactivationDate == null && x.UserId == query.UserId) .Select(x => new WorkoutThumbnailDTO { Created = x.Created, Description = x.Description, Executed = x.WorkoutVersions.OrderByDescending(d => d.Created).First().Executed, Name = x.Name, Mood = x.WorkoutVersions.OrderByDescending(d => d.Created).First().MoodLevelId, Fatigue = x.WorkoutVersions.OrderByDescending(d => d.Created).First().FatigueLevelId }) .ToListAsync(token)); }