public async Task <IActionResult> AtenderChamado() { string message = string.Empty; try { _serviceMessage.GetConnectionFactory(); if (_serviceMessage.CreateConnection()) { _serviceMessage.CreateModel(); if (_serviceMessage.IsChannelOpen()) { message = _serviceMessage.ReceiveMessageQueue(QueueMessage.ABERTURA_CHAMADO); if (!string.IsNullOrEmpty(message)) { return(Ok(message)); } else { return(Ok("Não há chamados para atendimento")); } } else { return(BadRequest("Falha na conexão com o canal")); } } else { return(BadRequest("Falha ao conectar com o message broker")); } } catch (Exception ex) { return(StatusCode(500, $"Ocorreu erro: {ex.Message} - Detalhes: {ex.InnerException}")); } finally { _serviceMessage.CloseConnection(); } }