protected void btnSalvar_Click(object sender, EventArgs e) { PermissoesBL perBL = new PermissoesBL(); Permissoes permissao = new Permissoes(); foreach (RepeaterItem item in repPermissao.Items) { permissao.Id = utils.ComparaIntComZero(((TextBox)item.FindControl("txtId")).Text); permissao.CategoriaId = utils.ComparaIntComZero(((TextBox)item.FindControl("txtCategoriaId")).Text); permissao.FormularioId = utils.ComparaIntComZero(((TextBox)item.FindControl("txtFormularioId")).Text); permissao.Consultar = ((CheckBox)item.FindControl("chkConsultar")).Checked; permissao.Editar = false; permissao.Inserir = false; permissao.Excluir = false; if (permissao.CategoriaId > 0 && permissao.FormularioId > 0) { if (permissao.Id > 0) { if (perBL.EditarBL(permissao)) ExibirMensagem("Permissões atualizadas com sucesso !"); else ExibirMensagem("Não foi possível gravar as permissões. Revise as informações."); } else { if (perBL.InserirBL(permissao)) ExibirMensagem("Permissões gravadas com sucesso !"); else ExibirMensagem("Não foi possível gravar as permissões. Revise as informações."); } } } }
//evento pre-definido private void PreRequestHandlerExecute(Object source, EventArgs e) { //obtem dados da aplicacao http (site) application = (HttpApplication)source; context = application.Context; //obtem o nome do arquivo que está sendo acessado string origem = context.Request.FilePath; if (!origem.Contains("aspx") || origem.Contains("WebForm1") || origem.Contains("Rel") || origem.Contains("default.aspx") || origem.Contains("Pesquisar.aspx") || origem.Contains("PesquisarItens.aspx") || origem.Contains("recuperacaoLogin.aspx") || origem.Contains("ops.aspx")) { return; } //se houver usuario logado, e o site já estiver carregado //verifica qual é o usuario para definir permissoes de acesso //se nao houver usuário logado, sempre direciona para a tela de login if (context.Session != null && context.Session["usuario"] == null) { //somente chama a tela de login se a origem nao for a propria tela //faz isso, pois no primeira acesso é solicitada a tela de login if (!origem.Contains("login.aspx")) { //chama a tela de login context.Response.Redirect("~/login.aspx", true); } } else { //exemplo //Cria objeto usuario local, baseado no objeto da sessao List<Usuarios> usuarios = (List<Usuarios>)context.Session["usuario"]; PermissoesBL perBL = new PermissoesBL(); foreach (Usuarios ltUsu in usuarios) { List<Permissoes> permissoes = perBL.PesquisarBL(ltUsu.CategoriaId, origem); if (permissoes.Count == 0 && !origem.Contains("erroPermissao.aspx")) { context.Session["usuPermissoes"] = null; context.Response.Redirect("~/erroPermissao.aspx?nomeUsuario=" + ltUsu.Nome, true); } else if (!origem.Contains("erroPermissao.aspx")) { Permissoes per = new Permissoes(); per.Editar = permissoes[0].Editar; per.Excluir = permissoes[0].Excluir; per.Inserir = permissoes[0].Inserir; context.Session["usuPermissoes"] = per; } } } }
//public void JQueryValor(string CssClass, Int16 Maximo, Int16 CasasDecimais) //{ // Page.ClientScript.RegisterClientScriptInclude("jQueryPriceFormat", Page.ResolveClientUrl("~/javascript/jquery.price_format.1.4.js")); // string script = " $(document).ready(function () { " + // " $('." + CssClass + "').priceFormat({" + // " limit: " + Maximo.ToString() + "," + // " centsLimit: " + CasasDecimais.ToString() + "," + // " prefix: ''," + // " centsSeparator: ','," + // " thousandsSeparator: '.'" + // " });" + // "});"; // Page.ClientScript.RegisterClientScriptBlock(this.GetType(), "JQueryMask" + CssClass, script, true); //} private void CarregarMenuPermissoes() { PermissoesBL perBL = new PermissoesBL(); DataSet ds = perBL.PesquisarPermissoesBL(utils.ComparaIntComZero(hfIdCategoria.Value)); ds.Tables[0].TableName = "tblCategorias"; ds.Tables[1].TableName = "tblSubCategoria"; //Relação para o segundo repeater (SubCategorias) ds.Relations.Add("SubCategorias", ds.Tables["tblCategorias"].Columns["DESMODULO"], ds.Tables["tblSubCategoria"].Columns["DESMODULO"]); ds.Relations[0].Nested = true; rptMenu.DataSource = ds.Tables["tblCategorias"]; rptMenu.DataBind(); }
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(); }