public async Task <bool> Executar(FiltroRelatorioNotasEConceitosFinaisDto filtro) { var usuarioLogado = await mediator.Send(new ObterUsuarioLogadoQuery()); if (usuarioLogado == null) { throw new NegocioException("Não foi possível localizar o usuário."); } filtro.UsuarioNome = usuarioLogado.Nome; filtro.UsuarioRf = usuarioLogado.CodigoRf; if (filtro.Bimestres.Any(c => c == -99)) { filtro.Bimestres = new List <int>(); switch (filtro.Modalidade) { case Modalidade.Fundamental: case Modalidade.Medio: filtro.Bimestres.AddRange(new int[] { 0, 1, 2, 3, 4 }); break; case Modalidade.EJA: filtro.Bimestres.AddRange(new int[] { 0, 1, 2 }); break; } } return(await mediator.Send(new GerarRelatorioCommand(TipoRelatorio.NotasEConceitosFinais, filtro, usuarioLogado, filtro.TipoFormatoRelatorio))); }
private async void MontarCabecalho(FiltroRelatorioNotasEConceitosFinaisDto filtros, RelatorioNotasEConceitosFinaisDto relatorioNotasEConceitosFinaisDto, IEnumerable <ComponenteCurricularPorTurma> componentes) { if (string.IsNullOrEmpty(filtros.DreCodigo)) { relatorioNotasEConceitosFinaisDto.DreNome = "Todas"; } else { var dre = await mediator.Send(new ObterDrePorCodigoQuery() { DreCodigo = filtros.DreCodigo }); relatorioNotasEConceitosFinaisDto.DreNome = dre.Abreviacao; } if (string.IsNullOrEmpty(filtros.UeCodigo)) { relatorioNotasEConceitosFinaisDto.UeNome = "Todas"; } else { var ue = await mediator.Send(new ObterUePorCodigoQuery(filtros.UeCodigo)); relatorioNotasEConceitosFinaisDto.UeNome = ue.Nome; } if (filtros.ComponentesCurriculares == null || filtros.ComponentesCurriculares.Length == 0) { relatorioNotasEConceitosFinaisDto.ComponenteCurricular = "Todos"; } else if (filtros.ComponentesCurriculares.Length == 1) { relatorioNotasEConceitosFinaisDto.ComponenteCurricular = componentes.FirstOrDefault(a => a.CodDisciplina == filtros.ComponentesCurriculares[0])?.Disciplina; } if (filtros.Bimestres == null || filtros.Bimestres.Count > 1) { relatorioNotasEConceitosFinaisDto.Bimestre = "Todos"; } else if (filtros.Bimestres != null && filtros.Bimestres.Count == 1) { relatorioNotasEConceitosFinaisDto.Bimestre = $"{filtros.Bimestres[0]}º"; } if (filtros.Anos == null || filtros.Anos.Length == 0) { relatorioNotasEConceitosFinaisDto.Ano = "Todos"; } else if (filtros.Anos.Length == 1) { relatorioNotasEConceitosFinaisDto.Ano = filtros.Anos[0]; } relatorioNotasEConceitosFinaisDto.UsuarioNome = filtros.UsuarioNome; relatorioNotasEConceitosFinaisDto.UsuarioRF = filtros.UsuarioRf; }
private async Task <List <Dre> > AplicarFiltroPorDre(FiltroRelatorioNotasEConceitosFinaisDto filtros) { var dres = new List <Dre>(); if (!string.IsNullOrEmpty(filtros.DreCodigo)) { var dre = await mediator.Send(new ObterDrePorCodigoQuery() { DreCodigo = filtros.DreCodigo }); if (dre == null) { throw new NegocioException("Não foi possível obter a Dre."); } dres.Add(dre); } return(dres); }
private async Task <string[]> AplicarFiltroPorUe(FiltroRelatorioNotasEConceitosFinaisDto filtros, IEnumerable <UePorDresIdResultDto> ues) { string[] uesCodigos; if (!string.IsNullOrEmpty(filtros.UeCodigo)) { var ue = await mediator.Send(new ObterUePorCodigoQuery(filtros.UeCodigo)); if (ue == null) { throw new NegocioException("Não foi possível obter a Ue."); } var codigos = new List <string> { filtros.UeCodigo }; uesCodigos = codigos.ToArray(); } else { uesCodigos = ues.Select(u => u.Codigo).ToArray(); } return(uesCodigos); }
private IEnumerable <RetornoNotaConceitoBimestreComponenteDto> AplicarFiltroPorCondicoesEValores(FiltroRelatorioNotasEConceitosFinaisDto filtros, IEnumerable <RetornoNotaConceitoBimestreComponenteDto> notas) { if (filtros.TipoNota == TipoNota.Conceito) { return(notas.Where(a => a.ConceitoId == filtros.ValorCondicao && a.SinteseId == null).ToList()); } if (filtros.TipoNota == TipoNota.Sintese) { return(notas.Where(a => a.SinteseId == filtros.ValorCondicao).ToList()); } if (filtros.TipoNota != TipoNota.Todas) { switch (filtros.Condicao) { case CondicoesRelatorioNotasEConceitosFinais.Igual: return(notas.Where(a => a.Nota == filtros.ValorCondicao && a.ConceitoId == null && a.SinteseId == null).ToList()); case CondicoesRelatorioNotasEConceitosFinais.Maior: return(notas.Where(a => a.Nota > filtros.ValorCondicao && a.ConceitoId == null && a.SinteseId == null).ToList()); case CondicoesRelatorioNotasEConceitosFinais.Menor: return(notas.Where(a => a.Nota < filtros.ValorCondicao && a.ConceitoId == null && a.SinteseId == null).ToList()); default: break; } } return(notas); }
public ObterRelatorioNotasEConceitosFinaisPdfQuery(FiltroRelatorioNotasEConceitosFinaisDto filtroRelatorioNotasEConceitosFinais) { this.FiltroRelatorioNotasEConceitosFinais = filtroRelatorioNotasEConceitosFinais; }
public async Task <IActionResult> Gerar(FiltroRelatorioNotasEConceitosFinaisDto filtro, [FromServices] IRelatorioNotasEConceitosFinaisUseCase relatorioNotasEConceitosFinaisUseCase) { return(Ok(await relatorioNotasEConceitosFinaisUseCase.Executar(filtro))); }