Beispiel #1
0
        public List <PermissaoRegra> GetAlunoPermissoes(List <AccessObject> lstObj, int idClient, int applicationId)
        {
            using (MiniProfiler.Current.Step("Obtendo permissões do aluno")) {
                var condicoesPreenchidasPeloAluno = _accessRepository.GetCondicoesPreenchidasPeloAluno(idClient, applicationId);

                var regrasNotificacaoes = _accessRepository.GetRegrasNotificacoes(lstObj);

                var notificacao = from r in regrasNotificacaoes
                                  group r by r.ObjetoId into g
                                  select new { IdMenu = g.Key, PermissoesNotificacao = g.ToList().OrderBy(x => x.Ordem).ToList() };

                var lstPermissoesNotificacao = new List <PermissaoRegra> ();

                var condicoesRegras = _accessRepository.GetRegraCondicoes(applicationId);

                foreach (var item in notificacao)
                {
                    var permissao = _accessRepository.GetPermissoes(condicoesPreenchidasPeloAluno, item.PermissoesNotificacao, condicoesRegras);
                    lstPermissoesNotificacao.Add(permissao);
                }

                return(lstPermissoesNotificacao);
            }
        }