trigger ContentDocumentTrigger on ContentDocument(before delete) { System.debug('enter ContentDocumentTrigger'); // system.debug('Trigger.new = ' + (List) Trigger.new); // system.debug('Trigger.old = ' + (List) Trigger.old); String invoiceStart = System.Label.invoiceStart; // List rentalIds = new List(); // List attIds = new List(); List rentaldelIds = new List(); List attdelIds = new List(); // if (Trigger.isAfter && Trigger.isInsert) { // for (ContentDocument cd : Trigger.new) { // System.debug('cd.Id = ' + cd.Id); // ContentDocumentLink cdl = [SELECT id, LinkedEntityId FROM ContentDocumentLink WHERE ContentDocumentId = :cd.Id]; // System.debug('cdl.LinkedEntityId = ' + cdl.LinkedEntityId); // if (String.valueOf(cdl.LinkedEntityId).startsWith(invoiceStart)) { // rentalIds.add(cdl.LinkedEntityId); // attIds.add(cd.Id); // } // } // } if (Trigger.isBefore && Trigger.isDelete) { for (ContentDocument cd : Trigger.old) { System.debug('cd.Id = ' + cd.Id); List cdlList = [SELECT id, LinkedEntityId FROM ContentDocumentLink WHERE ContentDocumentId = :cd.Id]; System.debug('cdlList = ' + cdlList); System.debug('cd.Id = ' + cd.Id); for (ContentDocumentLink cdl : cdlList) { if (String.valueOf(cdl.LinkedEntityId).startsWith(invoiceStart)) { System.debug('String.valueOf(cdl.LinkedEntityId).startsWith(invoiceStart)'); rentaldelIds.add(cdl.LinkedEntityId); attdelIds.add(cd.Id); } } } } // 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); // } // ControllerUtil.updRentalApplyList(rentalList); // } if (rentaldelIds.size() > 0) { System.debug('rentaldelIds = ' + rentaldelIds); System.debug('attdelIds = ' + attdelIds); 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); } }