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>())); } }
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)); }
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 })); }