public async Task <HttpResponseMessage> Post()
        {
            string jsonParam = await Request.Content.ReadAsStringAsync();

            if (jsonParam.isEmpty())
            {
                return(Request.CreateResponse(HttpStatusCode.BadRequest, new DefaultDTO(true, "Dados não enviados!")));
            }

            var info = JObject.Parse(jsonParam);

            int idEvento = info["idEvento"].toInt();

            string tipoBusca = info["tipoBusca"].stringOrEmpty();

            string valorBusca = info["valorBusca"].stringOrEmpty();

            int idInscricao = tipoBusca == "id" ? valorBusca.toInt() : 0;

            string nroDocumento = tipoBusca == "documento" ? valorBusca.onlyNumber() : "";

            UtilRetorno RetornoValidacao = ValidadorCredenciamentoBL.validar(idEvento, idInscricao, nroDocumento);

            if (RetornoValidacao.flagError)
            {
                return(Request.CreateResponse(HttpStatusCode.BadRequest, new DefaultDTO(true, RetornoValidacao.listaErros.FirstOrDefault())));
            }

            EventoInscricao OInscricao = RetornoValidacao.info.ToJsonObject <EventoInscricao>();

            string urlEtiqueta = String.Concat(UtilConfig.linkAbsSistema, "Etiquetas/EtiquetaInscrito/?", "idEvento=", idEvento, "&", "id=", OInscricao.id);

            var DadosRetorno = new {
                idInscricao = OInscricao.id,
                OInscricao.nomeInscrito,
                emailInscrito     = OInscricao.emailPrincipal,
                documentoInscrito = UtilString.formatCPFCNPJ(OInscricao.documentoInscrito),
                tipoInscricao     = OInscricao.TipoInscricao?.descricao ?? "Não Informado",
                urlEtiqueta
            };

            var ORetorno = new DefaultDTO();

            var listaResultados = new List <object>();

            listaResultados.Add(DadosRetorno);

            ORetorno.listaResultados = listaResultados;

            ORetorno.totalRegistros = 1;

            ORetorno.totalPaginas = 1;

            return(Request.CreateResponse(HttpStatusCode.OK, ORetorno));
        }
        /// <summary>
        ///
        /// </summary>
        private string montarParametrosPersonalizados(EventoInscricao OInscricao)
        {
            var i = UtilCrypt.toBase64Encode(OInscricao.id.toInt());

            var icr = UtilCrypt.SHA512(OInscricao.id.toInt().ToString());

            string linkCertificado = ConfiguracaoLinkBaseBL.linkAreaAssociado(OInscricao.idOrganizacao, $"EventosPro/EventoCertificadoAcesso/index?i={i}&icr={icr}");

            Dictionary <string, string> personalizacaoParams = new Dictionary <string, string>();

            personalizacaoParams.Add("#LINK_CERTIFICADO#", linkCertificado);
            personalizacaoParams.Add("#TITULO_EVENTO#", OInscricao.Evento.titulo);
            personalizacaoParams.Add("#NOME_INSCRITO#", OInscricao.nomeInscrito);

            string infosPersonalizadas = JsonConvert.SerializeObject(personalizacaoParams, new JsonSerializerSettings {
                ReferenceLoopHandling = ReferenceLoopHandling.Ignore
            });

            return(infosPersonalizadas);
        }