trigger ContentDocumentLink on ContentDocumentLink (before delete, after insert) { system.debug('enter ContentDocumentLink'); system.debug('Trigger.new = ' + (List) Trigger.new); system.debug('Trigger.old = ' + (List) Trigger.old); String invoiceStart = System.Label.invoiceStart; System.debug('invoiceStart = ' + invoiceStart); List rentalIds = new List(); List attIds = new List(); // List rentaldelIds = new List(); // List attdelIds = new List(); if (Trigger.isAfter && Trigger.isInsert) { System.debug('Trigger.isAfter && Trigger.isInsert'); for (ContentDocumentLink cdl : Trigger.new) { System.debug('cdl.LinkedEntityId = ' + cdl.LinkedEntityId); System.debug('cdl.ContentDocumentId = ' + cdl.ContentDocumentId); if (String.valueOf(cdl.LinkedEntityId).startsWith(invoiceStart)) { System.debug('String.valueOf(cdl.LinkedEntityId).startsWith(invoiceStart)'); rentalIds.add(cdl.LinkedEntityId); attIds.add(cdl.ContentDocumentId); System.debug('rentalIds = ' + rentalIds); System.debug('attIds = ' + attIds); } } } // if (Trigger.isBefore && Trigger.isDelete) { // System.debug('Trigger.isBefore && Trigger.isDelete'); // for (ContentDocumentLink cdl : Trigger.old) { // System.debug('cdl.LinkedEntityId = ' + cdl.LinkedEntityId); // System.debug('cdl.ContentDocumentId = ' + cdl.ContentDocumentId); // if (String.valueOf(cdl.LinkedEntityId).startsWith(invoiceStart)) { // System.debug('String.valueOf(cdl.LinkedEntityId).startsWith(invoiceStart)'); // rentaldelIds.add(cdl.LinkedEntityId); // attdelIds.add(cdl.ContentDocumentId); // System.debug('rentaldelIds = ' + rentaldelIds); // System.debug('attdelIds = ' + attdelIds); // } // } // } if (rentalIds.size() > 0) { List rentalList = new List(); for (Consumable_order__c ra : [SELECT Id FROM Consumable_order__c WHERE Id IN :rentalIds]) { ra.Consumable_pdf_insert_day__c = Date.today(); ra.Order_Attachment__c = attIds[0]; rentalList.add(ra); } System.debug('rentalList = ' + rentalList); ControllerUtil.updRentalApplyList(rentalList); } // if (rentaldelIds.size() > 0) { // List rentaldelList = new List(); // for (Consumable_accessories_invoice__c ra : [ // SELECT Id // FROM Consumable_accessories_invoice__c // WHERE Invoice_code__c IN :rentaldelIds AND Attachment_ID__c IN :attdelIds // ]) { // rentaldelList.add(ra); // } // System.debug('rentaldelList = ' + rentaldelList); // ControllerUtil.delConsumableAccessoriesInvoiceSet(rentaldelList); // } }