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