public IHttpActionResult ProfissaoPorCbo(string cbo)
        {
            this.Log.Information("teste");

            var resultado = Resultado <Contrato.v1.Profissao> .DaOperacao("ProfissaoPorCbo")
                            .V1()
                            .SemGerenciarConexaoDoBancoDeDados()
                            .Rastrear($"Profissão: {cbo}")
                            .Executar(() =>
            {
                var profissoesTask = Task.Run(() => RepositorioProfissao.SelecionarAsync(p => p.Cbo == cbo));
                profissoesTask.Wait();
                var profissoes = profissoesTask.Result;
                AddCorrelationKey(Contexto.Atual.Id);
                AddMetadados(new string[] { "cbo", cbo });

                return(ResultadoDaOperacao <Contrato.v1.Profissao> .ComValor(profissoes.v1().FirstOrDefault()));
            });

            if (resultado.HouveErrosDuranteProcessamento)
            {
                return(InternalServerError(new Exception(string.Join(",", resultado.Mensagens))));
            }
            else
            {
                if (resultado.Valor == null)
                {
                    return(NotFound());
                }
                else
                {
                    return(Ok(resultado.Valor));
                }
            }
        }
        public async Task <IHttpActionResult> Profissao()
        {
            var profissoes = await RepositorioProfissao.RecuperarTodosAsync();

            return(Ok(profissoes.v1()));
        }