public async Task <ActionResult> PostEventUsers( [FromServices] DataContext context, [FromServices] EventRepository eventRepository, [FromServices] UserRepository userRepository, [FromBody] AddEventUserCommand command, int eventId) { try { var eventExists = await eventRepository.GetByIdAsync(eventId); if (eventExists == null) { return(NotFound(new { message = "O Evento não foi localizado." })); } var userExists = userRepository.CheckExistsById(command.UserId); if (!userExists) { return(NotFound(new { message = "O Integrante não foi localizado." })); } var userAlreadyAdded = eventRepository.CheckUserAlreadyAdded(eventId, command.UserId); if (userAlreadyAdded) { return(Ok()); } var eventUser = new EventUser { EventId = eventId, UserId = command.UserId }; eventRepository.AddEventUser(eventUser); await context.SaveChangesAsync(); var list = await eventRepository.GetEventUsersAsync(eventId); return(Ok()); } catch (Exception) { return(StatusCode(StatusCodes.Status500InternalServerError, new { message = ErrorMessage.Internal })); } }