示例#1
0
        public void AtualizarNpraN()
        {
            //Busca uma lista com todos os ID's das permissões na tabela N para N
            idpermissoesNpraN = permissaoDAO.BuscarIDPermissoesNpraN();

            //Busca uma lista com todo os ID's dos grupos de usuário na tabela N para N
            idgrupousuariosNpraN = grupousuarioDAO.BuscarIDNpraN();

            //Struct com todas as permissões e Lista com todos os grupos
            listapermissoes = permissaoDAO.BuscaTodasPermissoes();
            listagrupos     = grupousuarioDAO.BuscaTodos();


            //Percorre uma lista com todas as permissões e verifica se o ID da permissão
            //está inserido na tabela N para N, caso contrário insere e faz todas as relações
            foreach (Permissao p in listapermissoes.Todas)
            {
                if (!idpermissoesNpraN.Contains(p.PermissaoId))
                {
                    InserirRelacoesPermissao(p.PermissaoId);
                }
            }

            foreach (GrupoUsuario g in listagrupos)
            {
                if (!idgrupousuariosNpraN.Contains(g.GrupoUsuarioID))
                {
                    InserirRelacoesGrupoUsuarios(g.GrupoUsuarioID);
                }
            }
        }
示例#2
0
        public fmCadastroGrupoUsuario.PermissoesStruct BuscaPermissoesByIdGrupo(string cod)
        {
            fmCadastroGrupoUsuario.PermissoesStruct permissoes = new fmCadastroGrupoUsuario.PermissoesStruct();

            permissoes.Todas   = new List <Permissao>();
            permissoes.Modulos = new List <Permissao>();
            permissoes.Telas   = new List <Permissao>();
            permissoes.Funcoes = new List <Permissao>();

            using (MySQLConn sql = new MySQLConn(Configuracao.Conecta))
            {
                sql.Query = @"SELECT p.idpermissao AS pid, p.nome AS pnome, p.codigo AS pcodigo, pg.nivel AS pgnivel
                            FROM permissao_has_grupo_usuario pg INNER JOIN permissao p 
                            ON pg.idpermissao = p.idpermissao 
                            WHERE idgrupousuario = @idgrupousuario
                            ORDER BY codigo                            
                            ";

                sql.addParam("@idgrupousuario", cod);

                var data = sql.selectQuery();

                foreach (var d in data)
                {
                    string codfiltro = (string)d["pcodigo"];


                    Permissao p = new Permissao
                    {
                        PermissaoId = Convert.ToInt32(d["pid"]),
                        Nome        = (string)d["pnome"],
                        Codigo      = (string)d["pcodigo"],
                        Nivel       = Convert.ToInt32(d["pgnivel"])
                    };
                    permissoes.Todas.Add(p);

                    if (codfiltro.Substring(2) == "0000")
                    {
                        permissoes.Modulos.Add(p);
                    }

                    if (codfiltro.Substring(4) == "00")
                    {
                        permissoes.Telas.Add(p);
                    }

                    if (codfiltro.Substring(4) != "00")
                    {
                        permissoes.Funcoes.Add(p);
                    }
                }
            }
            return(permissoes);
        }
示例#3
0
        public fmCadastroGrupoUsuario.PermissoesStruct BuscaTodasPermissoes()
        {
            fmCadastroGrupoUsuario.PermissoesStruct permissoes = new fmCadastroGrupoUsuario.PermissoesStruct();

            permissoes.Todas   = new List <Permissao>();
            permissoes.Modulos = new List <Permissao>();
            permissoes.Telas   = new List <Permissao>();
            permissoes.Funcoes = new List <Permissao>();

            using (MySQLConn sql = new MySQLConn(Configuracao.Conecta))
            {
                sql.Query = @"SELECT * FROM permissao ORDER BY codigo";

                var data = sql.selectQuery();

                foreach (var d in data)
                {
                    string codfiltro = (string)d["codigo"];

                    Permissao p = new Permissao
                    {
                        PermissaoId = Convert.ToInt32(d["idpermissao"]),
                        Nome        = (string)d["nome"],
                        Codigo      = (string)d["codigo"],
                        Nivel       = 0
                    };
                    permissoes.Todas.Add(p);

                    if (codfiltro.Substring(2) == "0000")
                    {
                        permissoes.Modulos.Add(p);
                    }

                    if (codfiltro.Substring(4) == "00")
                    {
                        permissoes.Telas.Add(p);
                    }

                    if (codfiltro.Substring(4) != "00")
                    {
                        permissoes.Funcoes.Add(p);
                    }
                }
            }

            return(permissoes);
        }