public void EnviarCodigoEmail(int idEvento, string identificacao, string email)
        {
            ExecutarSeguramente(() =>
            {
                string codigo    = GerarCodigoUnico();
                var codigoAcesso = new CodigoAcessoInscricao(codigo, identificacao, DateTime.Today.AddHours(23).AddMinutes(59).AddSeconds(59));
                Contexto.RepositorioCodigosAcessoInscricao.Incluir(codigoAcesso);

                m_AppEmail.EnviarCodigoValidacaoEmail(idEvento, email, codigo);
            });
        }
        public DTOEnvioCodigoAcessoInscricao EnviarCodigo(string identificacao)
        {
            DTOEnvioCodigoAcessoInscricao dto = new DTOEnvioCodigoAcessoInscricao
            {
                IdInscricao = null,
                Resultado   = EnumResultadoEnvio.InscricaoNaoEncontrada
            };

            ExecutarSeguramente(() =>
            {
                try
                {
                    int idInscricao = new AppInscOnLineIdentificacaoInscricao().ExtrarId(identificacao);
                    var inscricao   = Contexto.RepositorioInscricoes.ObterInscricaoPeloId(idInscricao);

                    if (inscricao != null)
                    {
                        dto.IdInscricao = inscricao.Id;
                        if (inscricao.Evento.PeriodoInscricaoOnLine.DataFinal < DateTime.Now || inscricao.Evento.PeriodoInscricaoOnLine.DataInicial > DateTime.Now)
                        {
                            dto.Resultado = EnumResultadoEnvio.EventoEncerradoInscricao;
                        }
                        else
                        {
                            dto.Resultado = EnumResultadoEnvio.InscricaoOK;
                        }

                        if (dto.Resultado == EnumResultadoEnvio.InscricaoOK)
                        {
                            string codigo    = GerarCodigoUnico();
                            var codigoAcesso = new CodigoAcessoInscricao(codigo, inscricao, DateTime.Today.AddHours(23).AddMinutes(59).AddSeconds(59));
                            Contexto.RepositorioCodigosAcessoInscricao.Incluir(codigoAcesso);

                            m_AppEmail.EnviarCodigoAcompanhamentoInscricao(inscricao, codigo);
                        }
                    }
                }
                catch (Exception ex)
                {
                    if (ex is ExcecaoAplicacao)
                    {
                        dto.Resultado = EnumResultadoEnvio.IdentificacaoInvalida;
                    }
                    else
                    {
                        throw ex;
                    }
                }
            });

            return(dto);
        }