public async Task <IEnumerable <ObjetivoAprendizagemDto> > Filtrar(FiltroObjetivosAprendizagemDto filtroObjetivosAprendizagemDto) { IEnumerable <ObjetivoAprendizagemDto> objetivos = await Listar(); IEnumerable <long> componentesJurema = ObterComponentesJuremaPorIdEOL(filtroObjetivosAprendizagemDto.ComponentesCurricularesIds); IEnumerable <ObjetivoAprendizagemDto> result = null; if (filtroObjetivosAprendizagemDto.ComponentesCurricularesIds.Contains(138)) { result = objetivos?.Where(c => c.IdComponenteCurricular == (filtroObjetivosAprendizagemDto.EnsinoEspecial ? 11 : 6)); } else { result = objetivos?.Where(c => componentesJurema.Contains(c.IdComponenteCurricular)); } var listResult = result.ToList(); foreach (var item in listResult) { item.ComponenteCurricularEolId = filtroObjetivosAprendizagemDto.ComponentesCurricularesIds.FirstOrDefault(); } IEnumerable <int> anos = Enumerable.Range(1, 9); if (filtroObjetivosAprendizagemDto.EnsinoEspecial && !anos.Select(a => a.ToString()).Contains(filtroObjetivosAprendizagemDto.Ano)) { return(listResult.OrderBy(o => o.Ano).ThenBy(x => x.Codigo)); } listResult = listResult.Where(x => x.Ano == filtroObjetivosAprendizagemDto.Ano).ToList(); return(listResult.OrderBy(o => o.Codigo)); }
public async Task <IEnumerable <ObjetivoAprendizagemDto> > Filtrar(FiltroObjetivosAprendizagemDto filtroObjetivosAprendizagemDto) { var objetivos = await Listar(); var componentesJurema = ObterComponentesJuremaPorIdEOL(filtroObjetivosAprendizagemDto.ComponentesCurricularesIds); return(objetivos? .Where(c => componentesJurema.Contains(c.IdComponenteCurricular) && c.Ano == filtroObjetivosAprendizagemDto.Ano)); }
public void Deve_Consultar_Objetivos_Aprendizagem() { _fixture._clientApi.DefaultRequestHeaders.Clear(); _fixture._clientApi.DefaultRequestHeaders.Authorization = new AuthenticationHeaderValue("Bearer", _fixture.GerarToken(new Permissao[] { Permissao.PA_C, Permissao.PA_A, Permissao.PA_I, Permissao.PA_E })); var filtros = new FiltroObjetivosAprendizagemDto(); filtros.ComponentesCurricularesIds.Add(139); filtros.Ano = "3"; var jsonParaPost = new StringContent(TransformarEmJson(filtros), UnicodeEncoding.UTF8, "application/json"); var getResult = _fixture._clientApi.PostAsync("api/v1/objetivos-aprendizagem/", jsonParaPost).Result; Assert.True(getResult.IsSuccessStatusCode); var disciplinas = JsonConvert.DeserializeObject <IEnumerable <ObjetivoAprendizagemDto> >(getResult.Content.ReadAsStringAsync().Result); Assert.True(disciplinas != null); }
public async Task <IActionResult> Filtrar([FromBody] FiltroObjetivosAprendizagemDto filtroObjetivosAprendizagemDto) { return(Ok(await consultasObjetivoAprendizagem.Filtrar(filtroObjetivosAprendizagemDto))); }