在插入时触发contentdocumentlink,使复选框在帐户上为true

时间:2017-11-06 09:57:23

标签: apex

尝试在contentdocumentlink上编写一个触发器,该触发器在插入时触发并在复选框上选中一个复选框,但代码似乎不起作用。

还会出现编译错误。

   public with sharing class contentDocumentLinkTriggerHandler {
        public static void processOnInsert(list<ContentDocumentLink> newList) {
            list<ContentDocumentLink> contentList = new list<ContentDocumentLink>();
            set<id> accId = new set<id>();
            map<id,list<ContentDocumentLink>> parentContentMap = new map<id,list<ContentDocumentLink>>();
            set<id> contId = new set<id>();
            for(ContentDocumentLink nt : newList){
                if(nt.linkedentityid.getSobjectType() == Account.SObjectType){
                    accId.add(nt.linkedentityid);
                }
                if(nt.linkedentityid.getSobjectType() == Contact.SObjectType){
                    contId.add(nt.linkedentityid);  
                }
                if(parentContentMap.containsKey(nt.linkedentityid))
                    parentContentMap.get(nt.linkedentityid).add(nt);
                else
                    parentContentMap.put(nt.linkedentityid,new list<ContentDocumentLink>{nt});
            } 
            if(!accId.isEmpty()){
                //login for acc
                for(Account acc : [SELECT id,checkFiles__c FROM Account WHERE id IN : accId]){
                    if(parentContentMap.containsKey(acc.id)){
                        acc.checkFiles__c == true;// compile error
                    } 
                }
            }
        }
    }

0 个答案:

没有答案