Exemple #1
0
 public bool RelatorioVazio(TipoVisualizacaoRelatorioAtribuicaoCJ tipoVisualizacao)
 {
     if (tipoVisualizacao == TipoVisualizacaoRelatorioAtribuicaoCJ.Professor)
     {
         return(!AtribuicoesCjPorProfessor.Any() && !AtribuicoesEsporadicas.Any() && !Dres.Any());
     }
     else
     {
         return(!AtribuicoesCjPorTurma.Any() && !AtribuicoesEsporadicas.Any() && !Dres.Any());
     }
 }
Exemple #2
0
        private void OrdernarRelatorio(RelatorioAtribuicaoCjDto relatorio, TipoVisualizacaoRelatorioAtribuicaoCJ tipoVisualizacao)
        {
            if (relatorio.RelatorioVazio(tipoVisualizacao))
            {
                throw new NegocioException("Não foram encontrados dados a serem impressos");
            }
            else
            {
                if (relatorio.AtribuicoesEsporadicas.Any())
                {
                    relatorio.AtribuicoesEsporadicas = relatorio.AtribuicoesEsporadicas.OrderBy(o => o.NomeUsuario).ToList();
                }

                if (relatorio.AtribuicoesCjPorTurma.Any())
                {
                    relatorio.AtribuicoesCjPorTurma = relatorio.AtribuicoesCjPorTurma.OrderBy(o => o.NomeTurma).ToList();
                    relatorio.AtribuicoesCjPorTurma.ForEach(a =>
                    {
                        a.AtribuicoesCjProfessor = a.AtribuicoesCjProfessor.OrderBy(o => o.ComponenteCurricular).ThenBy(o => o.NomeProfessorCj).ToList();
                    });
                }

                if (relatorio.AtribuicoesCjPorProfessor.Any())
                {
                    relatorio.AtribuicoesCjPorProfessor = relatorio.AtribuicoesCjPorProfessor.OrderBy(o => o.NomeProfessor).ToList();
                    relatorio.AtribuicoesCjPorProfessor.ForEach(a =>
                    {
                        a.AtribuiicoesCjTurma = a.AtribuiicoesCjTurma.OrderBy(o => o.NomeTurma).ThenBy(o => o.ComponenteCurricular).ToList();
                    });
                }

                if (relatorio.Dres.Any())
                {
                    relatorio.Dres = relatorio.Dres.OrderBy(o => o.Nome).ToList();
                    relatorio.Dres.ForEach(dre =>
                    {
                        dre.Ues = dre.Ues.OrderBy(o => o.Nome).ToList();
                        dre.Ues.ForEach(ue =>
                        {
                            if (ue.AtribuicoesEsporadicas.Any())
                            {
                                ue.AtribuicoesEsporadicas = ue.AtribuicoesEsporadicas.OrderBy(o => o.NomeUsuario).ToList();
                            }

                            if (ue.AtribuicoesCjPorTurma.Any())
                            {
                                ue.AtribuicoesCjPorTurma = ue.AtribuicoesCjPorTurma.OrderBy(o => o.NomeTurma).ToList();
                                ue.AtribuicoesCjPorTurma.ForEach(a =>
                                {
                                    a.AtribuicoesCjProfessor = a.AtribuicoesCjProfessor.OrderBy(o => o.ComponenteCurricular).ThenBy(o => o.NomeProfessorCj).ToList();
                                });
                            }

                            if (ue.AtribuicoesCjPorProfessor.Any())
                            {
                                ue.AtribuicoesCjPorProfessor = ue.AtribuicoesCjPorProfessor.OrderBy(o => o.NomeProfessor).ToList();
                                ue.AtribuicoesCjPorProfessor.ForEach(a =>
                                {
                                    a.AtribuiicoesCjTurma = a.AtribuiicoesCjTurma.OrderBy(o => o.NomeTurma).ThenBy(o => o.ComponenteCurricular).ToList();
                                });
                            }
                        });
                    });
                }
            }
        }
Exemple #3
0
        private void AdicionarAtribuicoesCJ(RelatorioAtribuicaoCjDto relatorio, IEnumerable <AtribuicaoCJ> lstAtribuicaoCJ,
                                            IEnumerable <ProfessorTitularComponenteCurricularDto> lstProfTitulares,
                                            IEnumerable <ProfessorTitularComponenteCurricularDto> lstProfServidorTitulares,
                                            IEnumerable <AtribuicaoEsporadica> lstAtribuicaoEsporadica, IEnumerable <ServidorCargoDto> cargosServidores,
                                            IEnumerable <AulaVinculosDto> aulas, TipoVisualizacaoRelatorioAtribuicaoCJ tipoVisualizacao, bool exibirAulas,
                                            Modalidade?filtroModalidade)
        {
            if (tipoVisualizacao == TipoVisualizacaoRelatorioAtribuicaoCJ.Professor)
            {
                var agrupamento = lstAtribuicaoCJ.GroupBy(cj => new { cj.ProfessorRf, cj.ProfessorNome });

                relatorio.AtribuicoesCjPorProfessor.AddRange(
                    agrupamento.Select(professor =>
                {
                    var retorno = new AtribuicaoCjPorProfessorDto();

                    string tipoCJ     = ObterTipoProfessorCJ(professor.Key.ProfessorRf, lstAtribuicaoEsporadica, lstProfServidorTitulares, cargosServidores);
                    var professorNome = cargosServidores.FirstOrDefault(p => p.CodigoRF == professor.Key.ProfessorRf)?.NomeServidor;

                    retorno.NomeProfessor = $"{(!string.IsNullOrEmpty(professor.Key.ProfessorNome) ? professor.Key.ProfessorNome : professorNome)} ({professor.Key.ProfessorRf}) - {tipoCJ}";

                    retorno.AtribuiicoesCjTurma.AddRange(
                        professor.Select(t =>
                    {
                        var titular = lstProfTitulares.FirstOrDefault(p => p.TurmaCodigo == t.Turma.Codigo &&
                                                                      p.ComponenteCurricularId == t.ComponenteCurricularId.ToString());



                        var retorno = new AtribuicaoCjTurmaDto()
                        {
                            CodigoDre            = t.DreId,
                            CodigoUe             = t.UeId,
                            ComponenteCurricular = t.ComponenteCurricularNome,
                            DataAtribuicao       = t.CriadoEm.ToString("dd/MM/yyyy"),
                            NomeProfessorTitular = titular != null ? titular.ProfessorNomeRf : string.Empty,
                            NomeTurma            = t.Turma.Nome,
                            Aulas = exibirAulas ? ObterAulasDadas(t.ProfessorRf, t.Turma.Codigo, t.ComponenteCurricularId, aulas)?.ToList() : null
                        };
                        return(retorno);
                    }));

                    return(retorno);
                }));
            }
            else
            {
                var agrupamento = lstAtribuicaoCJ.GroupBy(cj => new { cj.Turma.Codigo, Nome = cj.Turma.NomePorFiltroModalidade(filtroModalidade) });

                relatorio.AtribuicoesCjPorTurma.AddRange(
                    agrupamento.Select(turma =>
                {
                    var retorno = new AtribuicaoCjPorTurmaDto();

                    retorno.NomeTurma = turma.Key.Nome;
                    retorno.AtribuicoesCjProfessor.AddRange(
                        turma.Select(t =>
                    {
                        var titular = lstProfTitulares.FirstOrDefault(p => p.TurmaCodigo == t.Turma.Codigo &&
                                                                      p.ComponenteCurricularId == t.ComponenteCurricularId.ToString());

                        var professorNome = cargosServidores.FirstOrDefault(p => p.CodigoRF == t.ProfessorRf)?.NomeRelatorio;

                        var retorno = new AtribuicaoCjProfessorDto()
                        {
                            CodigoDre            = t.DreId,
                            CodigoUe             = t.UeId,
                            ComponenteCurricular = t.ComponenteCurricularNome,
                            DataAtribuicao       = t.CriadoEm.ToString("dd/MM/yyyy"),
                            NomeProfessorTitular = titular != null ? titular.ProfessorNomeRf : string.Empty,
                            NomeProfessorCj      = !string.IsNullOrEmpty(t.ProfessorNome) ? t.ProfessorNomeRf : professorNome,
                            TipoProfessorCj      = ObterTipoProfessorCJ(t.ProfessorRf, lstAtribuicaoEsporadica, lstProfServidorTitulares, cargosServidores),
                            Aulas = exibirAulas ? ObterAulasDadas(t.ProfessorRf, t.Turma.Codigo, t.ComponenteCurricularId, aulas)?.ToList() : null
                        };
                        return(retorno);
                    }));

                    return(retorno);
                }));
            }
        }