Пример #1
0
    /// <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));
    }
Пример #2
0
    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);
        }
    }