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
            }));
        }
コード例 #2
0
        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
            });
        }