Пример #1
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
                });
            }
        }
Пример #2
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));
                }
            }
        }
Пример #3
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");
                }
            }
        }