コード例 #1
0
        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);
        }
        public DTOInscricaoSimplificada ObterInscricaoAdultoPorCodigo(int idEvento, string codigo)
        {
            DTOInscricaoSimplificada dto = null;

            ExecutarSeguramente(() =>
            {
                var idInscricao = new AppInscOnLineIdentificacaoInscricao().ExtrarId(codigo);

                var inscricao = Contexto.RepositorioInscricoes.ObterInscricaoPeloId(idInscricao);

                if (inscricao != null)
                {
                    if (inscricao.Evento.Id != idEvento)
                    {
                        throw new ExcecaoAplicacao("AppInscOnlineEventoManutencaoInscricoes", "Essa inscrição não pertence ao evento escolhido");
                    }

                    dto = inscricao.ConverterSimplificada();
                }
            });
            return(dto);
        }