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); } } }
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); }
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); }