public async Task <ActionResult <ResponseViewModel> > PutAsync(
            int id,
            [FromBody] Evento evento
            )
        {
            if (!ModelState.IsValid)
            {
                return(BadRequest(
                           new ResponseViewModel
                {
                    Success = false,
                    Message = "Erros de validação.",
                    Data = ModelState
                }
                           ));
            }

            var existing = await _eventoRepository.GetAsync(id);

            if (existing == null)
            {
                return(BadRequest(
                           new ResponseViewModel
                {
                    Success = false,
                    Message = "Registro não localizado.",
                    Data = null
                }
                           ));
            }

            existing.Nome          = evento.Nome;
            existing.Descricao     = evento.Descricao;
            existing.Inicio        = evento.Inicio;
            existing.Fim           = evento.Fim;
            existing.SalaId        = evento.SalaId;
            existing.ResponsavelId = evento.ResponsavelId;

            var retorno = _eventoRepository.UpdateAsync(existing);

            if (retorno.Result != null)
            {
                return(BadRequest(
                           new ResponseViewModel
                {
                    Success = false,
                    Message = "Já existe outro evento agendado para a sala no horário solicitado.",
                    Data = retorno
                }
                           ));
            }

            return(Ok(
                       new ResponseViewModel
            {
                Success = true,
                Message = "Registro atualizado com sucesso.",
                Data = evento
            }
                       ));
        }