public async Task <IEnumerable <AtribuicaoCJ> > Handle(ObterAtribuicoesCJPorFiltroQuery request, CancellationToken cancellationToken) { var lstAtribuicoes = await atribuicaoCJRepository.ObterPorFiltros(request.Modalidade, request.TurmaId, request.UeId, request.ComponenteCurricularId, request.UsuarioRf, request.UsuarioNome, true, anoLetivo : request.AnoLetivo); return(lstAtribuicoes); }
private async Task <IEnumerable <IGrouping <string, ComponenteCurricularPorTurmaRegencia> > > ObterComponentesCJ(Modalidade modalidade, string[] codigosTurma, string ueId, long[] codigosComponentesCurriculares, string rf, bool ignorarDeParaRegencia = false) { IEnumerable <ComponenteCurricularPorTurmaRegencia> componentes = null; var atribuicoes = await atribuicaoCJRepository.ObterPorFiltros(modalidade, null, ueId, 0, rf, string.Empty, true, turmaIds : codigosTurma, componentesCurricularresId : codigosComponentesCurriculares); if (atribuicoes == null || !atribuicoes.Any()) { return(null); } var disciplinasEol = await mediator.Send(new ObterComponentesCurricularesEolPorIdsQuery() { ComponentesCurricularesIds = atribuicoes.Select(a => a.ComponenteCurricularId).Distinct().ToArray() }); var componenteRegencia = disciplinasEol?.FirstOrDefault(c => c.Regencia); if (componenteRegencia == null || ignorarDeParaRegencia) { return(MapearComponentesPorAtribuicaoCJ(atribuicoes, disciplinasEol)); } var componentesRegencia = await mediator.Send(new ObterComponentesCurricularesEolPorIdsQuery() { ComponentesCurricularesIds = IDS_COMPONENTES_REGENCIA }); if (componentesRegencia != null) { return(MapearComponentesPorAtribuicaoCJ(atribuicoes, componentesRegencia)); } return(componentes.GroupBy(c => c.CodigoTurma)); }