private async Task <IEnumerable <AulaCompletaDto> > ObterAulasDia(FiltroEventosAulasCalendarioDiaDto filtro, DateTime data, Guid perfil, string professorRf, IEnumerable <DisciplinaResposta> disciplinas) { var aulas = await repositorioAula.ObterAulasCompleto(filtro.TipoCalendarioId, filtro.TurmaId, filtro.UeId, data, perfil, filtro.TurmaHistorico); if (disciplinas != null) { VerificarAulasSomenteConsulta(disciplinas, aulas); } if (string.IsNullOrWhiteSpace(professorRf)) { return(aulas); } var aulasProfessor = aulas.Where(x => !string.IsNullOrEmpty(x.ProfessorRF) && x.ProfessorRF.Equals(professorRf)).ToList(); var disciplinasCompartilhadas = aulasProfessor.Where(x => !string.IsNullOrEmpty(x.DisciplinaCompartilhadaId)).Select(x => x.DisciplinaCompartilhadaId); if (disciplinasCompartilhadas.Any()) { ObterAulasCompartilhadas(aulas, aulasProfessor, disciplinasCompartilhadas); } ObterAulasCompartilhadasRelacionadas(aulas, aulasProfessor); return(aulasProfessor); }