/// <summary> /// Inicializa as views de permissão /// </summary> private void InicializaView() { if (this.permissaoAcesso == null) { this.permissaoAcesso = new PermissaoAcessoViewModel(); } }
public ActionResult Permissao(PermissaoAcessoViewModel modelo) { if (this.Logado != ((char)Enums.Logado.Sim).ToString()) { return(this.RedirectToAction("Login", "Login")); } try { this.InicializaView(); permissaoAcesso = modelo; modelo.LoginUsuario = modelo.LoginUsuario.ToLower(); var N9999USUBusiness = new N9999USUBusiness(); // Busca código do usuário var dadosUsuario = N9999USUBusiness.ListaDadosUsuarioPorLogin(modelo.LoginUsuario); if (dadosUsuario == null) { // Se usuário não cadastrado no NWORKFLOW, cadastra o mesmo. N9999USUBusiness.CadastrarUsuario(modelo.LoginUsuario); // Busca código do usuário cadastrado dadosUsuario = N9999USUBusiness.ListaDadosUsuarioPorLogin(modelo.LoginUsuario); } var n9999MENBusiness = new N9999MENBusiness(); // Lista todos os itens do menu, telas e operações que o usuário pesquisado já possuí algum tipo de operação var lista = n9999MENBusiness.MontarTreeViewPermissoes(dadosUsuario.CODUSU, (int)Enums.Sistema.NWORKFLOW); // Id dos itens da treeview que o usuário já possuí acesso para "checkagem" após o load da treeview; foreach (MenuModel item in lista.Where(p => p.PERMEN == ((char)Enums.Operacao.Pesquisar).ToString()).ToList()) { permissaoAcesso.menusOperacaoUser = permissaoAcesso.menusOperacaoUser + "#" + item.CODMEN.ToString() + item.PERMEN + "-"; if (item.INSMEN == ((char)Enums.Operacao.Inserir).ToString()) { permissaoAcesso.menusOperacaoUser = permissaoAcesso.menusOperacaoUser + "#" + item.CODMEN.ToString() + item.INSMEN + "-"; } if (item.ALTMEN == ((char)Enums.Operacao.Alterar).ToString()) { permissaoAcesso.menusOperacaoUser = permissaoAcesso.menusOperacaoUser + "#" + item.CODMEN.ToString() + item.ALTMEN + "-"; } if (item.EXCMEN == ((char)Enums.Operacao.Excluir).ToString()) { permissaoAcesso.menusOperacaoUser = permissaoAcesso.menusOperacaoUser + "#" + item.CODMEN.ToString() + item.EXCMEN + "-"; } } this.PermissoesDeAcessoGerenciamento = lista; return(this.View("Permissao", this.permissaoAcesso)); } catch (Exception ex) { this.Session["ExceptionErro"] = ex; return(this.RedirectToAction("ErroException", "Erro")); } }