public List <PermissaoRegra> GetAlunoPermissoes(List <AccessObject> lstObj, int idClient, int applicationId) { var condicoesPreenchidasPeloAluno = _accessDataRepository.GetCondicoesPreenchidasPeloAluno(idClient, applicationId); var regrasMenus = _accessDataRepository.GetRegras(lstObj, applicationId); var botao = from r in regrasMenus group r by r.ObjetoId into g select new { IdMenu = g.Key, PermissoesMenu = g.ToList().OrderBy(x => x.Ordem).ToList() }; var lstPermissoesMenu = new List <PermissaoRegra>(); var condicoesRegras = _accessDataRepository.GetRegraCondicoes(applicationId); foreach (var itemMenu in botao) { var permissao = _accessDataRepository.GetPermissoes(condicoesPreenchidasPeloAluno, itemMenu.PermissoesMenu, condicoesRegras); lstPermissoesMenu.Add(permissao); } return(lstPermissoesMenu); }
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); } }