Beispiel #1
0
        public void Salvar([FromBody] AcessoViewModel acessosViewModel)
        {
            this.acessoFuncionalidadeRepositorio
            .ApagarAcessosDoAtor(acessosViewModel.PapelId, acessosViewModel.AtorId);

            foreach (var funcionalidade in acessosViewModel.Funcionalidades)
            {
                if (funcionalidade.Marcado == false)
                {
                    continue;
                }

                var acesso = new AcessoFuncionalidade
                {
                    AtorId         = acessosViewModel.AtorId,
                    Papel          = Papel.FromInt32(acessosViewModel.PapelId),
                    Funcionalidade = Funcionalidade.FromInt32(funcionalidade.Id)
                };

                this.acessoFuncionalidadeRepositorio.Salvar(acesso);
            }

            this.logarAcaoSistema.Execute(
                TipoTrilha.Alteracao,
                "Segurança de Funcionalidade",
                "Acesso às funcionalidades foi alterado para o papelId: " + acessosViewModel.PapelId + " e atorId: " + acessosViewModel.AtorId);
        }
    public static int Inserir(AcessoFuncionalidade pobjAcessoFuncionalidade)
    {
        string        strConectionString = ConfigurationManager.ConnectionStrings["BradescoExpresso"].ConnectionString;
        SqlConnection objConexao         = new SqlConnection(strConectionString);

        SqlCommand objComando = new SqlCommand("SPE_I_ACESSO_FUNCIONALIDADE");

        objComando.Connection  = objConexao;
        objComando.CommandType = CommandType.StoredProcedure;

        //Define parametros da procedure
        objComando.Parameters.Add("@perfilId", SqlDbType.Int).Value = pobjAcessoFuncionalidade.IdPerfil;
        objComando.Parameters.Add("@secaoId", SqlDbType.Int).Value  = pobjAcessoFuncionalidade.IdSecao;
        objComando.Parameters.Add("@secaoFuncionalidadeId", SqlDbType.Int).Value = pobjAcessoFuncionalidade.IdSecaoFuncionalidade;

        try
        {
            //Abre conexão com o banco de dados
            objConexao.Open();

            //Declara variavel de retorno
            int intRetorno = 0;

            //Executa comando no banco de dados
            intRetorno = objComando.ExecuteNonQuery();

            return(intRetorno);
        }
        catch (Exception ex)
        {
            throw ex;
        }
        finally
        {
            //Fecha a conexao se aberta
            if (objConexao.State != ConnectionState.Closed)
            {
                objConexao.Close();
            }
        }
    }