protected void btnSalvar_Click(object sender, EventArgs e)
        {
            FormulariosBL forBL = new FormulariosBL();
            Formularios formulario = new Formularios();

            formulario.Id = utils.ComparaIntComZero(hfId.Value);
            formulario.Codigo = utils.ComparaIntComZero(lblCodigo.Text);
            formulario.Descricao = txtDescricao.Text;
            formulario.Nome = txtNome.Text;
            formulario.Tipo = ddlTipo.SelectedValue;
            formulario.Modulo = ddlModulo.SelectedValue;

            if (formulario.Id > 0)
                if(forBL.EditarBL(formulario))
                    ExibirMensagem("Dados atualizados com sucesso !");
                else
                    ExibirMensagem("Não foi possível salvar o formulário. Revise as informações !");
            else
            {
                if (forBL.InserirBL(formulario))
                {
                    ExibirMensagem("Dados gravados com sucesso !");
                    LimparCampos();
                }
                else
                    ExibirMensagem("Não foi possível salvar o formulário. Revise as informações !");
            }
        }
        protected void dtgFormularios_RowDeleting(object sender, GridViewDeleteEventArgs e)
        {
            FormulariosBL formBL = new FormulariosBL();
            Formularios formularios = new Formularios();
            formularios.Id = utils.ComparaIntComZero(dtgFormularios.DataKeys[e.RowIndex][0].ToString());

            if (formBL.ExcluirBL(formularios))
                ExibirMensagem("Formulário excluído com sucesso !");
            else
                ExibirMensagem("Não foi possível excluir o formulário.");

            Pesquisar(null);
        }
        private void Pesquisar(int id_cat, string modulo)
        {
            DataTable tabela = new DataTable();

            DataColumn coluna1 = new DataColumn("ID", Type.GetType("System.Int32"));
            DataColumn coluna2 = new DataColumn("CONSULTAR", Type.GetType("System.Boolean"));
            DataColumn coluna3 = new DataColumn("EDITAR", Type.GetType("System.Boolean"));
            DataColumn coluna4 = new DataColumn("INSERIR", Type.GetType("System.Boolean"));
            DataColumn coluna5 = new DataColumn("EXCLUIR", Type.GetType("System.Boolean"));
            DataColumn coluna6 = new DataColumn("FORMULARIOID", Type.GetType("System.Int32"));
            DataColumn coluna7 = new DataColumn("CODFORMULARIO", Type.GetType("System.Int32"));
            DataColumn coluna8 = new DataColumn("DESCFORMULARIO", Type.GetType("System.String"));
            DataColumn coluna9 = new DataColumn("TIPO", Type.GetType("System.String"));
            DataColumn coluna10 = new DataColumn("CATEGORIAID", Type.GetType("System.Int32"));

            tabela.Columns.Add(coluna1);
            tabela.Columns.Add(coluna2);
            tabela.Columns.Add(coluna3);
            tabela.Columns.Add(coluna4);
            tabela.Columns.Add(coluna5);
            tabela.Columns.Add(coluna6);
            tabela.Columns.Add(coluna7);
            tabela.Columns.Add(coluna8);
            tabela.Columns.Add(coluna9);
            tabela.Columns.Add(coluna10);

            FormulariosBL forBL = new FormulariosBL();
            List<Formularios> formularios = forBL.PesquisarBL(modulo);

            PermissoesBL perBL = new PermissoesBL();
            List<Permissoes> permissoes;

            foreach (Formularios formu in formularios)
            {
                DataRow linha = tabela.NewRow();

                linha["FORMULARIOID"] = formu.Id;
                linha["CODFORMULARIO"] = formu.Codigo;
                linha["DESCFORMULARIO"] = formu.Descricao;
                linha["CATEGORIAID"] = id_cat;

                switch (formu.Tipo.ToUpper())
                {
                    case "C":
                        {
                            linha["TIPO"] = "Edição";
                            break;
                        }
                    case "V":
                        {
                            linha["TIPO"] = "Consulta";
                            break;
                        }
                }

                permissoes = perBL.PesquisarBL(id_cat, formu.Id);

                if (permissoes.Count > 0)
                {
                    foreach (Permissoes per in permissoes)
                    {
                        linha["Id"] = per.Id;
                        linha["CONSULTAR"] = per.Consultar;
                        linha["EDITAR"] = per.Editar;
                        linha["INSERIR"] = per.Inserir;
                        linha["EXCLUIR"] = per.Excluir;
                    }
                }
                else
                {
                    linha["Id"] = 0;
                    linha["CONSULTAR"] = false;
                    linha["EDITAR"] = false;
                    linha["INSERIR"] = false;
                    linha["EXCLUIR"] = false;
                }

                tabela.Rows.Add(linha);
            }

            repPermissao.DataSource = tabela;
            repPermissao.DataBind();
        }
        private void CarregarDados(int id_for)
        {
            FormulariosBL forBL = new FormulariosBL();
            List<Formularios> formularios = forBL.PesquisarBL(id_for);

            foreach (Formularios ltFor in formularios)
            {
                hfId.Value = ltFor.Id.ToString();
                lblCodigo.Text = ltFor.Codigo.ToString();
                txtDescricao.Text = ltFor.Descricao;
                txtNome.Text = ltFor.Nome;
                ddlTipo.SelectedValue = ltFor.Tipo;
                ddlModulo.SelectedValue = ltFor.Modulo;
            }
        }
        private void Pesquisar(string valor)
        {
            DataTable tabela = new DataTable("tabela");

            DataColumn coluna1 = new DataColumn("ID", Type.GetType("System.Int32"));
            DataColumn coluna2 = new DataColumn("CODIGO", Type.GetType("System.Int32"));
            DataColumn coluna3 = new DataColumn("DESCRICAO", Type.GetType("System.String"));

            tabela.Columns.Add(coluna1);
            tabela.Columns.Add(coluna2);
            tabela.Columns.Add(coluna3);

            FormulariosBL forBL = new FormulariosBL();
            List<Formularios> formularios;

            formularios = forBL.PesquisarBuscaBL(valor);

            foreach (Formularios formu in formularios)
            {

                DataRow linha = tabela.NewRow();

                linha["ID"] = formu.Id;
                linha["CODIGO"] = formu.Codigo;
                linha["DESCRICAO"] = formu.Descricao;

                tabela.Rows.Add(linha);
            }

            dtbPesquisa = tabela;
            dtgFormularios.DataSource = tabela;
            dtgFormularios.DataBind();
        }