Exemplo n.º 1
0
        /// <summary>
        /// Tras uma tabela de dados (DataTable) com as permissões de ações selecionadas para um determinado perfil passado por parametro
        /// </summary>
        /// <param name="id_perfil">id do perfil a ser consultado as acoes selecionadas</param>
        /// <returns>DataTable com dados</returns>
        public DataTable MontaGrid(int id_perfil)
        {
            Persistencia bd = new Persistencia();

            DataTable grid_acoes = ListaAcoes();
            grid_acoes.Columns.Add("chk", typeof(bool));

            _sql = @"SELECT * from sis_permissoes WHERE per_id = @id_perfil";
            bd.Cmd.Parameters.AddWithValue("@id_perfil", id_perfil);

            //carrega todas as permissoes do pefil slecionado
            DataTable permissoes_perfil = bd.dtFromSql(_sql);

            foreach (DataRow linhaA in grid_acoes.Rows)
            {
                /*para cada linha da lista de acoes checo se o id dessa acao existe na tabela permissoes
                 que contem o id da acao e o id do perfil
                 */
                linhaA["chk"] = false;
                /*
                    checked da linha recebe falso e é alterado par true caso o registro exista
                    ou seja caso a id da acao exista na tabela permissoes para o id do perfil passado por parametro
                 */
                foreach (DataRow linhaP in permissoes_perfil.Rows)
                {
                    //aqui é efetuada a verificação
                    if (linhaP["act_id"].ToString() == linhaA["id"].ToString())
                    {
                        linhaA["chk"] = true;
                    }
                }
            }
            return grid_acoes;
        }
Exemplo n.º 2
0
        /// <summary>
        /// Atualiza as Permissoes do Perfil
        /// </summary>
        /// <returns>Retorna um inteiro com numero de linhas afetadas</returns>
        public int AtualizaPermissoes(int id_perfil, ArrayList novas_permissoes)
        {
            int linhasAtualizadas = 0;
            Persistencia bd = new Persistencia();
            _sql = "DELETE FROM sis_permissoes Where per_id = @id_perfil";
            bd.Cmd.Parameters.AddWithValue("@id_perfil", id_perfil);
            bd.ExecutaCmd(_sql);//limpa tudo;

            //INSERT INTO `graxcontrol`.`sis_permissoes` (`per_id`, `act_id`) VALUES (1, 0);
            _sql = "INSERT INTO sis_permissoes values (@id_perfil, @id_acao)";

            foreach (string acao in novas_permissoes)
            {
                bd.Cmd.Parameters.Clear();
                bd.Cmd.Parameters.AddWithValue("@id_perfil", id_perfil);
                bd.Cmd.Parameters.AddWithValue("@id_acao", acao);
                linhasAtualizadas+= bd.ExecutaCmd(_sql);
            }
            return linhasAtualizadas;
        }
Exemplo n.º 3
0
 /// <summary>
 /// Carrega um DataTable com a lista de perfis de usuário
 /// </summary>
 /// <returns>DataTable com dados</returns>
 public DataTable ListaPerfil()
 {
     Persistencia bd = new Persistencia();
     _sql = "SELECT * FROM sis_perfil";
     return bd.dtFromSql(_sql);
 }
Exemplo n.º 4
0
 /// <summary>
 /// Tras a lista de Acoes do Sistema
 /// </summary>
 /// <returns></returns>
 public DataTable ListaAcoes()
 {
     Persistencia bd = new Persistencia();
     _sql = "SELECT * FROM sis_acoes";
     return bd.dtFromSql(_sql);
 }