public async Task <IActionResult> CreateAsync(
            [FromBody] CreateParticipantRequest request,
            [FromServices] ICreateParticipantUseCase useCase)
        {
            var result = await useCase.ExecuteAsync(
                request.FirstName,
                request.LastName);

            return(Ok(new ParticipantViewModel(result)));
        }
        public async Task <Participant> ExecuteAsync(string firstName, string lastName)
        {
            var existing = await _participantRepository.FindByFullNameAsync(new FullName(firstName, lastName));

            if (existing == null)
            {
                return(await _useCase.ExecuteAsync(firstName, lastName));
            }

            return(null);
        }