コード例 #1
0
        public IEnumerable <DTODivisaoQuarto> MoverParticipante(int idEvento, int idInscricao, int daIdQuarto, int paraIdQuarto, bool ehCoordenador)
        {
            IList <DTODivisaoQuarto> quartosDTO = new List <DTODivisaoQuarto>();

            ExecutarSeguramente(() =>
            {
                Evento evento        = m_RepEventos.ObterEventoPeloId(idEvento);
                Quarto quartoOrigem  = m_RepQuartos.ObterQuartoPorIdEventoEQuarto(idEvento, daIdQuarto);
                Quarto quartoDestino = m_RepQuartos.ObterQuartoPorIdEventoEQuarto(idEvento, paraIdQuarto);

                InscricaoParticipante participante = (InscricaoParticipante)
                                                     m_RepInscricoes.ObterInscricaoPeloIdEventoEInscricao(idEvento, idInscricao);

                DivisaoManualInscricaoPorQuarto divisor =
                    new DivisaoManualInscricaoPorQuarto(evento, m_RepQuartos);

                divisor.Quarto(quartoOrigem).MoverInscrito(participante).Para(quartoDestino, ehCoordenador);

                m_RepQuartos.Atualizar(quartoOrigem);
                m_RepQuartos.Atualizar(quartoDestino);

                quartosDTO = ObterDivisaoQuartos(idEvento);
            });

            return(quartosDTO);
        }
コード例 #2
0
        public IEnumerable <DTODivisaoSalaEstudo> MoverParticipante(int idEvento, int idInscricao, int daIdSala, int paraIdSala)
        {
            IList <DTODivisaoSalaEstudo> salasDTO = new List <DTODivisaoSalaEstudo>();

            ExecutarSeguramente(() =>
            {
                Evento evento          = m_RepEventos.ObterEventoPeloId(idEvento);
                SalaEstudo salaOrigem  = m_RepSalas.ObterPorId(idEvento, daIdSala);
                SalaEstudo salaDestino = m_RepSalas.ObterPorId(idEvento, paraIdSala);

                InscricaoParticipante participante = (InscricaoParticipante)
                                                     m_RepInscricoes.ObterInscricaoPeloIdEventoEInscricao(idEvento, idInscricao);

                DivisaoManualParticipantesPorSalaEstudo divisor =
                    new DivisaoManualParticipantesPorSalaEstudo(evento, m_RepSalas);

                divisor.Sala(salaOrigem).MoverParticipante(participante).Para(salaDestino);

                m_RepSalas.Atualizar(salaOrigem);
                m_RepSalas.Atualizar(salaDestino);

                salasDTO = ObterDivisaoSalas(evento);
            });

            return(salasDTO);
        }
コード例 #3
0
        public static void AtribuirAtividadeDepartamento(this InscricaoParticipante inscParticipante, DTOInscricaoDepartamento dto, ADepartamentos repDepartamento)
        {
            if (dto != null)
            {
                Departamento departamento  = null;
                bool         ehCoordenador = false;
                if (dto.Coordenador != null)
                {
                    departamento  = repDepartamento.ObterPorId(dto.Coordenador.Id);
                    ehCoordenador = true;
                }
                else if (dto.Participante != null)
                {
                    departamento = repDepartamento.ObterPorId(dto.Participante.Id);
                }

                if (departamento == null)
                {
                    throw new ExcecaoAplicacao("AtribuicaoInscricao", "As informações para departamento estão incompletas");
                }

                inscParticipante.AdicionarAtividade(
                    new AtividadeInscricaoDepartamento(inscParticipante, departamento)
                {
                    EhCoordenacao = ehCoordenador
                });
            }
        }
コード例 #4
0
        public void EnviarInscricaoRegistradaAdulto(InscricaoParticipante inscricao)
        {
            var mensagem = ObterMensagem(inscricao.Evento.Id);

            m_ServicoEmail.Configuracao = ObterCnfEmail(inscricao.Evento.Id);

            var dto = inscricao.ConverterComCodigo();

            dto.Codigo = new AppInscOnLineIdentificacaoInscricao().GerarCodigo(inscricao.Id);

            var idSarau = new AppInscOnLineIdentificacaoSarau();

            dto.Sarais = Contexto.RepositorioApresentacoesSarau.ListarPorInscricao(inscricao.Id)
                         .Select(x =>
            {
                var sarau    = x.ConverterComCodigo();
                sarau.Codigo = idSarau.GerarCodigo(x.Id);
                return(sarau);
            })
                         .ToList();

            m_ServicoEmail.Enviar(new Email
            {
                Assunto  = mensagem.MensagemInscricaoRegistradaAdulto.Assunto,
                Conteudo = m_GeradorMsgEmail.GerarMensagemModelo <DTOInscricaoCompletaAdultoCodigo>(mensagem.MensagemInscricaoRegistradaAdulto.Mensagem, dto),
                Endereco = inscricao.Pessoa.Email
            });
        }
コード例 #5
0
        public static DTOInscricaoCompletaAdultoCodigo ConverterComCodigo(this InscricaoParticipante inscricao)
        {
            var dto = new DTOInscricaoCompletaAdultoCodigo();

            dto.Converter(inscricao);
            return(dto);
        }
コード例 #6
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);
            });
        }
コード例 #7
0
        public IEnumerable<DTODivisaoOficina> MoverParticipante(int idEvento, int idInscricao, int daIdOficina, int paraIdOficina)
        {
            IList<DTODivisaoOficina> oficinasDTO = new List<DTODivisaoOficina>();
            ExecutarSeguramente(() =>
            {
                Evento evento = m_RepEventos.ObterEventoPeloId(idEvento);
                Oficina oficinaOrigem = m_RepOficinas.ObterPorId(idEvento, daIdOficina);
                Oficina oficinaDestino = m_RepOficinas.ObterPorId(idEvento, paraIdOficina);

                InscricaoParticipante participante = (InscricaoParticipante)
                        m_RepInscricoes.ObterInscricaoPeloIdEventoEInscricao(idEvento, idInscricao);

                DivisaoManualParticipantesPorOficina divisor =
                    new DivisaoManualParticipantesPorOficina(evento, m_RepOficinas);

                divisor.Oficina(oficinaOrigem).MoverParticipante(participante).Para(oficinaDestino);

                m_RepOficinas.Atualizar(oficinaOrigem);
                m_RepOficinas.Atualizar(oficinaDestino);

                oficinasDTO = ObterDivisaoOficinas(evento);
            });

            return oficinasDTO;
        }
コード例 #8
0
 public override bool EhParticipanteDeOficinaNoEvento(Evento evento, InscricaoParticipante participante)
 {
     return(mSessao.QueryOver <Oficina>()
            .Where(x => x.Evento == evento)
            .JoinQueryOver(x => x.Participantes)
            .Where(c => c.Id == participante.Id)
            .RowCount() > 0);
 }
コード例 #9
0
 public override bool EhParticipanteDeSalaNoEvento(Evento evento, InscricaoParticipante participante)
 {
     return(mSessao.QueryOver <SalaEstudo>()
            .Where(x => x.Evento == evento)
            .JoinQueryOver(x => x.Participantes)
            .Where(c => c.Id == participante.Id)
            .SingleOrDefault() != null);
 }
コード例 #10
0
 public override bool InscritoEhResponsavelPorOficina(Evento evento, InscricaoParticipante inscParticipante)
 {
     return(mSessao.QueryOver <AtividadeInscricaoOficinasCoordenacao>()
            .Where(x => x.Inscrito.Id == inscParticipante.Id)
            .JoinQueryOver(x => x.Inscrito)
            .JoinQueryOver(y => y.Evento)
            .Where(y => y.Id == evento.Id)
            .RowCount() > 0);
 }
コード例 #11
0
 public override bool EhCoordenadorDeSalaNoEvento(Evento evento, InscricaoParticipante participante)
 {
     return(mSessao.QueryOver <AtividadeInscricaoSalaEstudoCoordenacao>()
            .Where(x => x.Inscrito.Id == participante.Id)
            .JoinQueryOver(x => x.Inscrito)
            .JoinQueryOver(y => y.Evento)
            .Where(y => y.Id == evento.Id)
            .RowCount() > 0);
 }
コード例 #12
0
        protected override bool HaParticipatesEmOutraSala(SalaEstudo sala)
        {
            InscricaoParticipante aliasParticipante = null;

            var queryParticipantes = mSessao.QueryOver <SalaEstudo>()
                                     .Where(x => x.Id != sala.Id)
                                     .JoinQueryOver <InscricaoParticipante>(x => x.Participantes, () => aliasParticipante)
                                     .SelectList(x => x.Select(() => aliasParticipante.Id))
                                     .Future <int>();

            return(queryParticipantes.Where(x => sala.Participantes.Select(i => i.Id).Contains(x)).Count() > 0);
        }
コード例 #13
0
        public static void AtribuirDados(this InscricaoParticipante inscParticipante, DTOInscricaoAtualizacaoAdulto dtoInscricao)
        {
            inscParticipante.AtribuirDadosComum(dtoInscricao);

            inscParticipante.InstituicoesEspiritasFrequenta = dtoInscricao.CentroEspirita;
            inscParticipante.NomeResponsavelCentro          = dtoInscricao.NomeResponsavelCentro;
            inscParticipante.NomeResponsavelLegal           = dtoInscricao.NomeResponsavelLegal;
            inscParticipante.TelefoneResponsavelCentro      = dtoInscricao.TelefoneResponsavelCentro;
            inscParticipante.TelefoneResponsavelLegal       = dtoInscricao.TelefoneResponsavelLegal;
            inscParticipante.TempoEspirita = dtoInscricao.TempoEspirita;
            inscParticipante.Tipo          = dtoInscricao.TipoInscricao;
        }
コード例 #14
0
        protected override bool HaParticipatesOuResponsaveisEmOutraOficina(Oficina afrac)
        {
            InscricaoParticipante aliasParticipante = null;

            var queryParticipantes = mSessao.QueryOver <Oficina>()
                                     .Where(x => x.Id != afrac.Id)
                                     .JoinQueryOver <InscricaoParticipante>(x => x.Participantes, () => aliasParticipante)
                                     .SelectList(x => x.Select(() => aliasParticipante.Id))
                                     .Future <int>();

            return(queryParticipantes.Where(x => afrac.Participantes.Select(i => i.Id).Contains(x)).Count() > 0);
        }
コード例 #15
0
        public void RemoverParticipante(InscricaoParticipante participante)
        {
            if (participante == null)
            {
                throw new ArgumentNullException("participante", "Participante não pode ser nulo.");
            }

            if (!mOficina.EstaNaListaDeParticipantes(participante))
            {
                throw new ArgumentException("Participante não existe nesta oficina.");
            }

            mOficina.RemoverParticipante(participante);
        }
コード例 #16
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);
        }
コード例 #17
0
        public static void AtribuirAtividadeSalaEstudo(this InscricaoParticipante inscParticipante, DTOInscricaoSalaEstudo dto, ASalasEstudo repSalas)
        {
            if (dto != null)
            {
                if (dto.Coordenador != null)
                {
                    inscParticipante.AdicionarAtividade(
                        new AtividadeInscricaoSalaEstudoCoordenacao(
                            inscParticipante,
                            repSalas.ObterPorId(inscParticipante.Evento.Id, dto.Coordenador.Id)));
                }
                else if (dto.EscolhidasParticipante != null && dto.EscolhidasParticipante.Count > 0)
                {
                    var salas    = repSalas.ListarTodasPorEvento(inscParticipante.Evento.Id);
                    var escolhas = new SalasEstudoEscolhidas(inscParticipante.Evento);
                    foreach (var dtoOficina in dto.EscolhidasParticipante)
                    {
                        if (escolhas.Salas.Count() == 0)
                        {
                            escolhas.DefinirPrimeiraPosicao(salas.FirstOrDefault(x => x.Id == dtoOficina.Id));
                        }
                        else
                        {
                            escolhas.DefinirProximaPosicao(salas.FirstOrDefault(x => x.Id == dtoOficina.Id));
                        }
                    }

                    var gestaoOficinas = new GestaoSalasEstudoEscolhidas(
                        repSalas,
                        escolhas);

                    inscParticipante.AdicionarAtividade(
                        new AtividadeInscricaoSalaEstudoOrdemEscolha(
                            inscParticipante,
                            gestaoOficinas));
                }
                else
                {
                    inscParticipante.AdicionarAtividade(
                        new AtividadeInscricaoSalaEstudo(inscParticipante));
                }
            }
        }
コード例 #18
0
        public static void AtribuirAtividadeOficina(this InscricaoParticipante inscParticipante, DTOInscricaoOficina dto, AOficinas repOficinas)
        {
            if (dto != null)
            {
                if (dto.Coordenador != null)
                {
                    inscParticipante.AdicionarAtividade(
                        new AtividadeInscricaoOficinasCoordenacao(
                            inscParticipante,
                            repOficinas.ObterPorId(inscParticipante.Evento.Id, dto.Coordenador.Id)));
                }
                else if (dto.EscolhidasParticipante != null)
                {
                    var oficinas = repOficinas.ListarTodasPorEvento(inscParticipante.Evento.Id);
                    var escolhas = new OficinasEscolhidas(inscParticipante.Evento);
                    foreach (var dtoOficina in dto.EscolhidasParticipante)
                    {
                        if (escolhas.Oficinas.Count() == 0)
                        {
                            escolhas.DefinirPrimeiraPosicao(oficinas.FirstOrDefault(x => x.Id == dtoOficina.Id));
                        }
                        else
                        {
                            escolhas.DefinirProximaPosicao(oficinas.FirstOrDefault(x => x.Id == dtoOficina.Id));
                        }
                    }

                    var gestaoOficinas = new GestaoOficinasEscolhidas(
                        repOficinas,
                        escolhas);

                    inscParticipante.AdicionarAtividade(
                        new AtividadeInscricaoOficinas(
                            inscParticipante,
                            gestaoOficinas));
                }
                else
                {
                    throw new ExcecaoAplicacao("AtribuicaoInscricao", "As informações para as oficinas estão incompletas");
                }
            }
        }
コード例 #19
0
        public IEnumerable<DTODivisaoOficina> IncluirParticipante(int idEvento, int idSala, int idInscricao)
        {
            IList<DTODivisaoOficina> oficinasDTO = new List<DTODivisaoOficina>();
            ExecutarSeguramente(() =>
            {
                Evento evento = m_RepEventos.ObterEventoPeloId(idEvento);
                InscricaoParticipante inscricao = (InscricaoParticipante)m_RepInscricoes.ObterInscricaoPeloIdEventoEInscricao(idEvento, idInscricao);

                Oficina oficina = m_RepOficinas.ObterPorId(idEvento, idSala);

                DivisaoManualParticipantesPorOficina divisor =
                    new DivisaoManualParticipantesPorOficina(evento, m_RepOficinas);

                divisor.Oficina(oficina).IncluirParticipante(inscricao);

                m_RepOficinas.Atualizar(oficina);

                oficinasDTO = ObterDivisaoOficinas(evento);
            });

            return oficinasDTO;
        }
コード例 #20
0
        public override IList <InscricaoParticipante> ListarParticipantesSemOficinaNoEvento(Evento evento)
        {
            InscricaoParticipante      aliasParticipante = null;
            AtividadeInscricaoOficinas aliasAtividade    = null;

            var subQueryParticipantes = QueryOver.Of <Oficina>()
                                        .JoinQueryOver <InscricaoParticipante>(x => x.Participantes, () => aliasParticipante)
                                        .Where(x => x.Id == aliasAtividade.Inscrito.Id)
                                        .SelectList(x => x.Select(() => aliasParticipante.Id));

            var subQueryCoordenadores = QueryOver.Of <AtividadeInscricaoOficinasCoordenacao>()
                                        .Where(x => x.Inscrito.Id == aliasAtividade.Id)
                                        .Select(x => x.Inscrito.Id);

            return(mSessao.QueryOver <AtividadeInscricaoOficinas>(() => aliasAtividade)
                   .JoinQueryOver(x => x.Inscrito)
                   .JoinQueryOver(y => y.Evento)
                   .Where(y => y.Id == evento.Id)
                   .WithSubquery.WhereNotExists(subQueryParticipantes)
                   .Select(x => x.Inscrito)
                   .List <InscricaoParticipante>());
        }
コード例 #21
0
        public override IList <InscricaoParticipante> ListarParticipantesSemSalaEstudoNormal(Evento evento)
        {
            InscricaoParticipante        aliasParticipante = null;
            AtividadeInscricaoSalaEstudo aliasAtividade    = null;

            var subQueryParticipantes = QueryOver.Of <SalaEstudo>()
                                        .JoinQueryOver <InscricaoParticipante>(x => x.Participantes, () => aliasParticipante)
                                        .Where(x => x.Id == aliasAtividade.Inscrito.Id && x.Situacao == EnumSituacaoInscricao.Aceita)
                                        .SelectList(x => x.Select(() => aliasParticipante.Id));

            var subQueryCoordenadores = QueryOver.Of <AtividadeInscricaoSalaEstudoCoordenacao>()
                                        .Where(x => x.Inscrito.Id == aliasAtividade.Id)
                                        .Select(x => x.Inscrito.Id);

            return(mSessao.QueryOver <AtividadeInscricaoSalaEstudo>(() => aliasAtividade)
                   .JoinQueryOver(x => x.Inscrito)
                   .Where(x => x.Situacao == EnumSituacaoInscricao.Aceita)
                   .JoinQueryOver(y => y.Evento)
                   .Where(y => y.Id == evento.Id)
                   .WithSubquery.WhereNotExists(subQueryParticipantes)
                   .Select(x => x.Inscrito)
                   .List <InscricaoParticipante>());
        }
コード例 #22
0
        public IEnumerable <DTODivisaoSalaEstudo> IncluirParticipante(int idEvento, int idSala, int idInscricao)
        {
            IList <DTODivisaoSalaEstudo> salasDTO = new List <DTODivisaoSalaEstudo>();

            ExecutarSeguramente(() =>
            {
                Evento evento = m_RepEventos.ObterEventoPeloId(idEvento);
                InscricaoParticipante inscricao = (InscricaoParticipante)m_RepInscricoes.ObterInscricaoPeloIdEventoEInscricao(idEvento, idInscricao);

                SalaEstudo sala = m_RepSalas.ObterPorId(idEvento, idSala);

                DivisaoManualParticipantesPorSalaEstudo divisor =
                    new DivisaoManualParticipantesPorSalaEstudo(evento, m_RepSalas);

                divisor.Sala(sala).IncluirParticipante(inscricao);

                m_RepSalas.Atualizar(sala);

                salasDTO = ObterDivisaoSalas(evento);
            });

            return(salasDTO);
        }
コード例 #23
0
        public IEnumerable <DTODivisaoQuarto> DefinirSeEhCoordenador(int idEvento, int idQuarto, int idInscricao, bool ehCoordenador)
        {
            IList <DTODivisaoQuarto> quartosDTO = new List <DTODivisaoQuarto>();

            ExecutarSeguramente(() =>
            {
                Evento evento = m_RepEventos.ObterEventoPeloId(idEvento);
                InscricaoParticipante inscricao = (InscricaoParticipante)m_RepInscricoes.ObterInscricaoPeloIdEventoEInscricao(idEvento, idInscricao);

                Quarto quarto = m_RepQuartos.ObterQuartoPorIdEventoEQuarto(idEvento, idQuarto);

                DivisaoManualInscricaoPorQuarto divisor =
                    new DivisaoManualInscricaoPorQuarto(evento, m_RepQuartos);

                divisor.Quarto(quarto).TornarCoordenador(inscricao, ehCoordenador);

                m_RepQuartos.Atualizar(quarto);

                quartosDTO = ObterDivisaoQuartos(idEvento);
            });

            return(quartosDTO);
        }
        public IParaOndeMover <SalaEstudo> MoverParticipante(InscricaoParticipante participante)
        {
            if (participante == null)
            {
                throw new ArgumentNullException("participante", "Participante não pode ser nulo.");
            }

            if (participante.Evento != mSala.Evento)
            {
                throw new ArgumentException("Este participante é de outro evento.", "participante");
            }

            if (mSalasEstudo.EhCoordenadorDeSalaNoEvento(mSala.Evento, participante))
            {
                throw new ArgumentException("Este participante é coordenador de sala.", "participante");
            }

            if (!mSalasEstudo.EhParticipanteDeSalaNoEvento(mSala.Evento, participante))
            {
                throw new ArgumentException("Este participante não tem sala informada.", "participante");
            }

            return(new ParaOndeMoverParticipante(mSala, participante));
        }
コード例 #25
0
        private static ADTOInscricaoCompletaAdulto <TSarau> Converter <TSarau>(this ADTOInscricaoCompletaAdulto <TSarau> dto,
                                                                               InscricaoParticipante inscricao)
            where TSarau : DTOSarau
        {
            dto.ConverterDTOAtualizacao(inscricao);
            dto.ConverterDTOCompleta(inscricao);

            dto.CentroEspirita            = inscricao.InstituicoesEspiritasFrequenta;
            dto.NomeResponsavelCentro     = inscricao.NomeResponsavelCentro;
            dto.NomeResponsavelLegal      = inscricao.NomeResponsavelLegal;
            dto.TelefoneResponsavelCentro = inscricao.TelefoneResponsavelCentro;
            dto.TelefoneResponsavelLegal  = inscricao.TelefoneResponsavelLegal;
            dto.TempoEspirita             = inscricao.TempoEspirita;
            dto.TipoInscricao             = inscricao.Tipo;

            dto.Departamento = ((AtividadeInscricaoDepartamento)inscricao.Atividades.FirstOrDefault(x => x is AtividadeInscricaoDepartamento))?.Converter();

            dto.Oficina = ((AtividadeInscricaoOficinas)inscricao.Atividades.FirstOrDefault(x => x is AtividadeInscricaoOficinas))?.Converter();
            if (dto.Oficina == null)
            {
                dto.Oficina = ((AtividadeInscricaoOficinasCoordenacao)inscricao.Atividades.FirstOrDefault(x => x is AtividadeInscricaoOficinasCoordenacao))?.Converter();
            }

            dto.SalasEstudo = ((AtividadeInscricaoSalaEstudo)inscricao.Atividades.FirstOrDefault(x => x is AtividadeInscricaoSalaEstudo))?.Converter();
            if (dto.SalasEstudo == null)
            {
                dto.SalasEstudo = ((AtividadeInscricaoSalaEstudoOrdemEscolha)inscricao.Atividades.FirstOrDefault(x => x is AtividadeInscricaoSalaEstudoOrdemEscolha))?.Converter();
            }
            if (dto.SalasEstudo == null)
            {
                dto.SalasEstudo = ((AtividadeInscricaoSalaEstudoCoordenacao)inscricao.Atividades.FirstOrDefault(x => x is AtividadeInscricaoSalaEstudoCoordenacao))?.Converter();
            }


            return(dto);
        }
        public void IncluirParticipante(InscricaoParticipante participante)
        {
            if (participante == null)
            {
                throw new ArgumentNullException("participante", "Participante não pode ser nulo.");
            }

            if (participante.Evento != mSala.Evento)
            {
                throw new ArgumentException("Este participante é de outro evento.", "participante");
            }

            if (mSalasEstudo.EhParticipanteDeSalaNoEvento(mSala.Evento, participante))
            {
                throw new ArgumentException("Este participante já tem sala informada.", "participante");
            }

            if (mSalasEstudo.EhCoordenadorDeSalaNoEvento(mSala.Evento, participante))
            {
                throw new ArgumentException("Este participante é coordenador de sala.", "participante");
            }

            mSala.AdicionarParticipante(participante);
        }
コード例 #27
0
        public void IncluirParticipante(InscricaoParticipante participante)
        {
            if (participante == null)
            {
                throw new ArgumentNullException("participante", "Participante não pode ser nulo.");
            }

            if (participante.Evento != mOficina.Evento)
            {
                throw new ArgumentException("Este participante é de outro evento.", "participante");
            }

            if (mOficinas.EhParticipanteDeOficinaNoEvento(mOficina.Evento, participante))
            {
                throw new ArgumentException("Este participante já tem oficina informada.", "participante");
            }

            if (mOficinas.InscritoEhResponsavelPorOficina(mOficina.Evento, participante))
            {
                throw new ArgumentException("Este participante é responsável de oficina.", "participante");
            }

            mOficina.AdicionarParticipante(participante);
        }
コード例 #28
0
        public IParaOndeMover <Oficina> MoverParticipante(InscricaoParticipante participante)
        {
            if (participante == null)
            {
                throw new ArgumentNullException("participante", "Participante não pode ser nulo.");
            }

            if (participante.Evento != mOficina.Evento)
            {
                throw new ArgumentException("Este participante é de outro evento.", "participante");
            }

            if (mOficinas.InscritoEhResponsavelPorOficina(mOficina.Evento, participante))
            {
                throw new ArgumentException("Este participante é responsável de oficina.", "participante");
            }

            if (!mOficinas.EhParticipanteDeOficinaNoEvento(mOficina.Evento, participante))
            {
                throw new ArgumentException("Este participante não tem oficina informada.", "participante");
            }

            return(new ParaOndeMoverParticipanteOficina(mOficina, participante));
        }
 public ParaOndeMoverParticipante(SalaEstudo salaOrigem, InscricaoParticipante participante)
 {
     mParticipante = participante;
     mSalaOrigem   = salaOrigem;
 }
コード例 #30
0
 public ParaOndeMoverParticipanteOficina(Oficina oficinaOrigem, InscricaoParticipante participante)
 {
     mParticipante  = participante;
     mOficinaOrigem = oficinaOrigem;
 }