//Customizado para essa classe especifica
        public UtilRetorno enviar(Associado OAssociado, string linkRecuperacao = "")
        {
            Dictionary <string, object> infos = new Dictionary <string, object>();

            infos["id"] = OAssociado.id.ToString();

            infos["nome"] = OAssociado.Pessoa.nome;

            infos["a"] = UtilCrypt.toBase64Encode(OAssociado.id);

            infos["acr"] = UtilCrypt.SHA512(OAssociado.id.ToString());

            var email = OAssociado.Pessoa.ToEmailList().FirstOrDefault();

            infos["mlcr"] = UtilCrypt.SHA512(email);

            var parametros = $"?a={ infos["a"] }&acr={ infos["acr"] }&mlcr={ infos["mlcr"]  }";

            if (!linkRecuperacao.isEmpty())
            {
                linkRecuperacao = String.Concat(linkRecuperacao, parametros);
            }

            if (linkRecuperacao.isEmpty())
            {
                linkRecuperacao = ConfiguracaoLinkBaseBL.linkAreaAssociado(idOrganizacao, $"minhaconta/alteracaosenha/nova-senha{ parametros }");
            }

            infos["link"] = linkRecuperacao;


            return(this.enviar(infos, $"Recuperação de senha - { OConfiguracaoSistema.tituloSistema }"));
        }
        //Customizado para essa classe especifica
        public UtilRetorno enviar(NotificacaoSistemaEnvio OEnvio, string linkRecuperacao = "")
        {
            Dictionary <string, object> infos = new Dictionary <string, object>();

            infos["id"] = OEnvio.idReferencia.ToString();

            infos["nome"] = OEnvio.nome;

            infos["a"] = UtilCrypt.toBase64Encode(OEnvio.idReferencia.toInt());

            infos["acr"] = UtilCrypt.SHA512(OEnvio.idReferencia.toInt().ToString());

            infos["mlcr"] = UtilCrypt.SHA512(OEnvio.email);

            var parametros = $"?a={ infos["a"] }&acr={ infos["acr"] }&mlcr={ infos["mlcr"]  }";

            if (!linkRecuperacao.isEmpty())
            {
                linkRecuperacao = String.Concat(linkRecuperacao, parametros);
            }

            if (linkRecuperacao.isEmpty())
            {
                linkRecuperacao = ConfiguracaoLinkBaseBL.linkAreaAssociado(idOrganizacao, $"minhaconta/alteracaosenha/nova-senha{ parametros }");
            }

            infos["link"] = linkRecuperacao;

            string tituloEmail = this.OConfiguracaoNotificacao.tituloEmailRecuperacaoSenhaAssociado.Replace("#NOME_ORGANIZACAO#", OConfiguracaoSistema.tituloSistema);

            return(this.enviar(infos, tituloEmail));
        }
        /// <summary>
        ///
        /// </summary>
        private string montarParametrosPersonalizados(Associado OAssociado, string email)
        {
            string linkPreAtualizacao = ConfiguracaoLinkBaseBL.linkPreAtualizacaoAreaAssociado(OAssociado.idOrganizacao, OAssociado.id, email);

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

            personalizacaoParams.Add("#LINK_ENVIO#", linkPreAtualizacao);
            personalizacaoParams.Add("#TIPO_ASSOCIADO#", OAssociado.TipoAssociado.descricao);

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

            return(infosPersonalizadas);
        }
        /// <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);
        }