Exemple #1
0
        private async Task <List <RelatorioSondagemPortuguesPorTurmaPerguntaDto> > ObterPerguntas(RelatorioSondagemPortuguesPorTurmaFiltroDto filtros)
        {
            switch (filtros.ProficienciaId)
            {
            case ProficienciaSondagemEnum.Leitura:
            case ProficienciaSondagemEnum.Escrita:
                return(await Task.FromResult(new List <RelatorioSondagemPortuguesPorTurmaPerguntaDto>()
                {
                    new RelatorioSondagemPortuguesPorTurmaPerguntaDto()
                    {
                        Id = "1",
                        Nome = "Proficiência"
                    },
                }));

            case ProficienciaSondagemEnum.Autoral:
                if (filtros.GrupoId == GrupoSondagemEnum.LeituraVozAlta.Name())
                {
                    return(await Task.FromResult(
                               new List <RelatorioSondagemPortuguesPorTurmaPerguntaDto>()
                    {
                        new RelatorioSondagemPortuguesPorTurmaPerguntaDto()
                        {
                            Id = "0bf845cc-29dc-45ec-8bf2-8981cef616df",
                            Nome = "Não conseguiu ou não quis ler"
                        },
                        new RelatorioSondagemPortuguesPorTurmaPerguntaDto()
                        {
                            Id = "49c26883-e717-44aa-9aab-1bd8aa870916",
                            Nome = "Leu com muita dificuldade"
                        },
                        new RelatorioSondagemPortuguesPorTurmaPerguntaDto()
                        {
                            Id = "0b38221a-9d50-4cdf-abbd-a9ac092dbe70",
                            Nome = "Leu com alguma fluência"
                        },
                        new RelatorioSondagemPortuguesPorTurmaPerguntaDto()
                        {
                            Id = "18d148be-d83c-4f24-9d03-dc003a05b9e4",
                            Nome = "Leu com fluência"
                        },
                    }));
                }
                if (filtros.GrupoId == GrupoSondagemEnum.ProducaoTexto.Name())
                {
                    return(await Task.FromResult(
                               new List <RelatorioSondagemPortuguesPorTurmaPerguntaDto>()
                    {
                        new RelatorioSondagemPortuguesPorTurmaPerguntaDto()
                        {
                            Id = "3173bff2-a148-4634-b029-b50c949ae2d6",
                            Nome = "Não produziu/entregou em branco"
                        },
                        new RelatorioSondagemPortuguesPorTurmaPerguntaDto()
                        {
                            Id = "98940cdb-d229-4282-a2e1-60e4a17dab64",
                            Nome = "Não apresentou dificuldades"
                        },
                        new RelatorioSondagemPortuguesPorTurmaPerguntaDto()
                        {
                            Id = "cfec69be-16fb-453d-8c47-fd5ebc4161ef",
                            Nome = "Escrita não alfabética"
                        },
                        new RelatorioSondagemPortuguesPorTurmaPerguntaDto()
                        {
                            Id = "ef0e79cd-dc31-4272-ad04-68f79a3a135d",
                            Nome = "Dificuldades com aspectos semânticos"
                        },
                        new RelatorioSondagemPortuguesPorTurmaPerguntaDto()
                        {
                            Id = "f4aae748-bfd8-482e-aee0-07a1cdad71ff",
                            Nome = "Dificuldades com aspectos textuais"
                        },
                        new RelatorioSondagemPortuguesPorTurmaPerguntaDto()
                        {
                            Id = "67a791d2-089d-40ee-8ddf-c64454ee5c54",
                            Nome = "Dificuldades com aspectos ortográficos e notacionais"
                        },
                    }));
                }
                else
                {
                    return(await Task.FromResult(new List <RelatorioSondagemPortuguesPorTurmaPerguntaDto>()));
                }

            default:
                return(await Task.FromResult(new List <RelatorioSondagemPortuguesPorTurmaPerguntaDto>()));
            }
        }
Exemple #2
0
        private async Task <List <RelatorioSondagemPortuguesPorTurmaPlanilhaLinhaDto> > ObterLinhas(RelatorioSondagemPortuguesPorTurmaFiltroDto filtros, IEnumerable <Aluno> alunos)
        {
            var grupo = filtros.GrupoId == GrupoSondagemEnum.LeituraVozAlta.Name() ? GrupoSondagemEnum.LeituraVozAlta : GrupoSondagemEnum.ProducaoTexto;

            IEnumerable <RelatorioSondagemPortuguesPorTurmaPlanilhaQueryDto> linhasSondagem = await mediator.Send(new ObterRelatorioSondagemPortuguesPorTurmaQuery()
            {
                DreCodigo    = filtros.DreCodigo,
                UeCodigo     = filtros.UeCodigo,
                TurmaCodigo  = filtros.TurmaCodigo,
                AnoLetivo    = filtros.AnoLetivo,
                AnoTurma     = filtros.Ano,
                Bimestre     = filtros.Bimestre,
                Proficiencia = filtros.ProficienciaId,
                Grupo        = grupo
            });

            List <RelatorioSondagemPortuguesPorTurmaPlanilhaLinhaDto> linhasPlanilha = new List <RelatorioSondagemPortuguesPorTurmaPlanilhaLinhaDto>();

            foreach (Aluno aluno in alunos.OrderBy(a => a.NomeAluno).ToList())
            {
                var alunoDto = new RelatorioSondagemComponentesPorTurmaAlunoDto()
                {
                    Codigo            = aluno.CodigoAluno,
                    Nome              = aluno.ObterNomeParaRelatorioSondagem(),
                    DataSituacao      = aluno.DataSituacao.ToString("dd/MM/yyyy"),
                    SituacaoMatricula = aluno.SituacaoMatricula
                };

                var respostasDto = new List <RelatorioSondagemPortuguesPorTurmaRespostaDto>();

                var perguntas = await ObterPerguntas(filtros);

                foreach (var pergunta in perguntas)
                {
                    var resposta = linhasSondagem.FirstOrDefault(a => a.AlunoEolCode == aluno.CodigoAluno.ToString() && a.PerguntaId == pergunta.Id);
                    respostasDto.Add(new RelatorioSondagemPortuguesPorTurmaRespostaDto()
                    {
                        PerguntaId = pergunta.Id,
                        Resposta   = resposta?.Resposta
                    });
                }


                linhasPlanilha.Add(new RelatorioSondagemPortuguesPorTurmaPlanilhaLinhaDto()
                {
                    Aluno     = alunoDto,
                    Respostas = respostasDto
                });
            }
            return(await Task.FromResult(linhasPlanilha));
        }
Exemple #3
0
        private async Task <RelatorioSondagemPortuguesPorTurmaCabecalhoDto> ObterCabecalho(RelatorioSondagemPortuguesPorTurmaFiltroDto filtros, List <RelatorioSondagemPortuguesPorTurmaPerguntaDto> perguntas, DateTime periodo)
        {
            var ue = await mediator.Send(new ObterUePorCodigoQuery(filtros.UeCodigo));

            var usuario = await mediator.Send(new ObterUsuarioPorCodigoRfQuery()
            {
                UsuarioRf = filtros.UsuarioRF
            });

            var dre = await mediator.Send(new ObterDrePorCodigoQuery()
            {
                DreCodigo = filtros.DreCodigo
            });

            var turma = await mediator.Send(new ObterTurmaSondagemEolPorCodigoQuery(Int32.Parse(filtros.TurmaCodigo)));

            var proficiencia = !String.IsNullOrEmpty(filtros.GrupoId) ? filtros.GrupoId : filtros.ProficienciaId.ToString();

            if (proficiencia == GrupoSondagemEnum.CapacidadeLeitura.Name())
            {
                proficiencia = GrupoSondagemEnum.CapacidadeLeitura.ShortName();
            }
            else if (proficiencia == GrupoSondagemEnum.LeituraVozAlta.Name())
            {
                proficiencia = GrupoSondagemEnum.LeituraVozAlta.ShortName();
            }
            else if (proficiencia == GrupoSondagemEnum.ProducaoTexto.Name())
            {
                proficiencia = GrupoSondagemEnum.ProducaoTexto.ShortName();
            }

            return(await Task.FromResult(new RelatorioSondagemPortuguesPorTurmaCabecalhoDto()
            {
                DataSolicitacao = DateTime.Now.ToString("dd/MM/yyyy"),
                Dre = dre.Abreviacao,
                Periodo = $"{ filtros.Bimestre }° Bimestre",
                Rf = filtros.UsuarioRF,
                Turma = turma.Nome,
                Ue = ue.NomeComTipoEscola,
                Usuario = usuario.Nome,
                AnoLetivo = filtros.AnoLetivo,
                Perguntas = perguntas,
                AnoTurma = filtros.Ano,
                ComponenteCurricular = ComponenteCurricularSondagemEnum.Portugues.ShortName(),
                Proficiencia = proficiencia
            }));
        }