예제 #1
0
        public void Incluir(int idEvento, DTOInscricaoAtualizacaoAdulto dtoInscricao)
        {
            ExecutarSeguramente(() =>
            {
                var evento = Contexto.RepositorioEventos.ObterEventoPeloId(idEvento);
                if (evento.PeriodoInscricaoOnLine.DataFinal < DateTime.Now || evento.PeriodoInscricaoOnLine.DataInicial > DateTime.Now)
                {
                    throw new ExcecaoAplicacao("AppInscricoes", "Evento encerrado");
                }

                var pessoa = new Pessoa(dtoInscricao.DadosPessoais.Nome,
                                        new Endereco(dtoInscricao.DadosPessoais.Cidade, dtoInscricao.DadosPessoais.Uf), dtoInscricao.DadosPessoais.DataNascimento,
                                        dtoInscricao.DadosPessoais.Sexo, dtoInscricao.DadosPessoais.Email);

                var inscParticipante = new InscricaoParticipante(evento, pessoa, DateTime.Now, dtoInscricao.TipoInscricao);
                inscParticipante.AtribuirDados(dtoInscricao);

                inscParticipante.RemoverTodasAtividade();
                inscParticipante.AtribuirAtividadeOficina(dtoInscricao.Oficina, Contexto.RepositorioOficinas);
                inscParticipante.AtribuirAtividadeSalaEstudo(dtoInscricao.SalasEstudo, Contexto.RepositorioSalasEstudo);
                inscParticipante.AtribuirAtividadeDepartamento(dtoInscricao.Departamento, Contexto.RepositorioDepartamentos);

                inscParticipante.TornarPendente();

                var repInscricoes = Contexto.RepositorioInscricoes;
                repInscricoes.Incluir(inscParticipante);

                var appApresentacaoSarau = new AppApresentacaoSarau(Contexto);
                appApresentacaoSarau
                .IncluirOuAtualizarPorParticipanteSemExecucaoSegura(inscParticipante, dtoInscricao.Sarais);

                m_AppEmail.EnviarInscricaoRegistradaAdulto(inscParticipante);
            });
        }
예제 #2
0
        private void AtualizarInscricao(InscricaoParticipante inscParticipante, DTOInscricaoAtualizacaoAdulto dtoInscricao)
        {
            var repInscricoes = Contexto.RepositorioInscricoes;

            inscParticipante.AtribuirDados(dtoInscricao);

            inscParticipante.RemoverTodasAtividade();
            inscParticipante.AtribuirAtividadeOficina(dtoInscricao.Oficina, Contexto.RepositorioOficinas);
            inscParticipante.AtribuirAtividadeSalaEstudo(dtoInscricao.SalasEstudo, Contexto.RepositorioSalasEstudo);
            inscParticipante.AtribuirAtividadeDepartamento(dtoInscricao.Departamento, Contexto.RepositorioDepartamentos);

            repInscricoes.Atualizar(inscParticipante);

            var appApresentacaoSarau = new AppApresentacaoSarau(Contexto);

            appApresentacaoSarau
            .IncluirOuAtualizarPorParticipanteSemExecucaoSegura(inscParticipante, dtoInscricao.Sarais);
        }