/// <summary> /// Verifica se o usuário logado possui permissão para uma funcionalidade /// </summary> /// <param name="pintIdSecao"></param> /// <param name="pintIdFuncionalidade"></param> /// <returns></returns> public bool UsuarioPossuiPermissaoAcessoFuncionalidade(int pintIdSecao, int pintIdFuncionalidade) { Usuario usuarioLogado = UsuarioLogado(); return(DOAcessoFuncionalidade.VerificaAcessoFuncionalidade( usuarioLogado.Id, pintIdSecao, pintIdFuncionalidade)); }
private void Salvar() { try { codigo = Convert.ToInt32(Request.QueryString["Id"]); this.CarregarObjetos(Utilitarios.TipoTransacao.Salvar); if (codigo > 0) { //Obter os acessos selecionados string secoesSelecionadas = string.Empty; List <AcessoFuncionalidade> funcionalidadesSelecionadas = new List <AcessoFuncionalidade>(); foreach (RepeaterItem item in rptPermissao.Items) { CheckBox chkItem = (CheckBox)item.FindControl("chkItem"); HiddenField hdnID = (HiddenField)item.FindControl("hdnID"); if (chkItem.Checked) { secoesSelecionadas += string.Format("{0};", hdnID.Value); } Repeater rptPermissaoFuncionalidade = (Repeater)item.FindControl("rptPermissaoFuncionalidade"); foreach (RepeaterItem itemFilho in rptPermissaoFuncionalidade.Items) { CheckBox chkItemFuncionalidade = (CheckBox)itemFilho.FindControl("chkItemFuncionalidade"); HiddenField hdnIDFuncionalidade = (HiddenField)itemFilho.FindControl("hdnIDFuncionalidade"); if (chkItemFuncionalidade.Checked) { funcionalidadesSelecionadas.Add(new AcessoFuncionalidade { IdPerfil = this.codigo, IdSecao = Convert.ToInt32(hdnID.Value), IdSecaoFuncionalidade = Convert.ToInt32(hdnIDFuncionalidade.Value) }); } } } //Atualiza o perfil e as seçoes selecionadas pelo usuário if (DOPerfil.Atualizar(gobjPerfil, secoesSelecionadas) > 0) { //Exclui funcionalidades anteriores DOAcessoFuncionalidade.Excluir(codigo); //Insere funcionalidades atualizadas foreach (AcessoFuncionalidade objAcessoFuncionalidade in funcionalidadesSelecionadas) { DOAcessoFuncionalidade.Inserir(objAcessoFuncionalidade); } } } Response.Redirect("Listar.aspx?sucesso=1"); } catch (Exception ex) { //Chama o método para gravar erro ((Manager_Interna)Master).ExibirAlerta(ex); } }