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); }