Esempio n. 1
0
        public async Task <IEnumerable <NotificacaoViewModel> > BuscarNotificacoesResponsavel(int idResponsavel)
        {
            var alunosResp = await _alunoService.ObterAlunoPorResponsavel(idResponsavel);

            var salasAlunos = await _salaService.ObterSalasPorAlunos(alunosResp);

            var notificacoes = new List <Notificacao>();

            foreach (var aluno in alunosResp)
            {
                var notificacao = await _notificacaoRepository.GetReadOnly(x => x.IdAluno == aluno.Id, new string[] { "Aluno" });

                if (notificacao != null)
                {
                    notificacoes.AddRange(notificacao);
                }
            }

            foreach (var sala in salasAlunos)
            {
                var notificacao = await _notificacaoRepository.GetReadOnly(x => x.IdSala == sala.Id, new string[] { "Sala" });

                if (notificacao != null)
                {
                    notificacoes.AddRange(notificacao);
                }
            }

            var notificacaoesVM = Mapper.Map <IEnumerable <NotificacaoViewModel> >(notificacoes);

            return(notificacaoesVM);
        }