//Remover todas as permissões anteriores
        //Salvar as permissões configuradas
        public void salvarPermissoesRecursos(int idPerfil, List <AcessoRecurso> listaRecursos)
        {
            this.excluir(idPerfil, 0);

            var listaInsert = new List <AcessoPermissao>();

            foreach (AcessoRecurso ORecurso in listaRecursos)
            {
                AcessoPermissao OAcessoPermissao = new AcessoPermissao();

                OAcessoPermissao.idPerfilAcesso = idPerfil;

                OAcessoPermissao.idRecurso = ORecurso.id;

                OAcessoPermissao.idGrupo = ORecurso.idRecursoGrupo;

                OAcessoPermissao.flagExcluido = "N";

                OAcessoPermissao.setDefaultInsertValues();

                listaInsert.Add(OAcessoPermissao);
            }

            db.Configuration.ValidateOnSaveEnabled = false;

            db.Configuration.AutoDetectChangesEnabled = false;

            db.BulkInsert(listaInsert);
        }
        // Salvar as permissões configuradas para actions
        public void salvarPermissoesAcoes(int idPerfil, int idRecursoAcao)
        {
            var OAcessoPermissao = this.listar(idPerfil, 0, idRecursoAcao).FirstOrDefault();

            if (OAcessoPermissao != null)
            {
                this.excluir(OAcessoPermissao.id);
            }

            var Acao = OAcessoRecursoAcaoBL.carregar(idRecursoAcao);

            if (Acao == null)
            {
                return;
            }

            OAcessoPermissao = new AcessoPermissao();
            OAcessoPermissao.idPerfilAcesso = idPerfil;
            OAcessoPermissao.idRecurso      = Acao.idRecursoPai;
            OAcessoPermissao.idGrupo        = Acao.idRecursoGrupo;
            OAcessoPermissao.idRecursoAcao  = idRecursoAcao;
            OAcessoPermissao.flagExcluido   = "N";

            OAcessoPermissao.setDefaultInsertValues <AcessoPermissao>();
            db.AcessoPermissao.Add(OAcessoPermissao);
            db.SaveChanges();
        }
        //Exclusao Lógica
        public UtilRetorno excluir(int id)
        {
            AcessoPermissao OAcessoPermissao = this.carregar(id);

            if (OAcessoPermissao == null)
            {
                return(UtilRetorno.newInstance(true, "O registro informado não foi localizado."));
            }

            OAcessoPermissao.flagExcluido = "S";
            OAcessoPermissao.dtAlteracao  = DateTime.Now;
            this.db.SaveChanges();

            return(UtilRetorno.newInstance(false, "O registro foi removido com sucesso"));
        }