Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- Date threshold = Date.today().addDays(-30);
- List<Account> accountsToDelete = new List<Account>();
- List<Case> casesToDelete = new List<Case>();
- List<EmailMessage> messagesToDelete = new List<EmailMessage>();
- Integer count = 0;
- Integer count2 = 0;
- Integer count3 = 0;
- for (Account account : [
- SELECT (SELECT LastModifiedDate FROM Cases ORDER BY LastModifiedDate DESC)
- FROM Account WHERE Id IN (
- SELECT AccountId FROM Case
- WHERE LastModifiedDate < :threshold
- AND Account.Name Like '%Test%'
- )
- ]){
- if (account.Cases[0].LastModifiedDate < threshold)
- {
- accountsToDelete.add(account);
- casesToDelete.addAll(account.Cases);
- }
- }
- messagesToDelete = [ SELECT Id, ParentId FROM EmailMessage WHERE ParentId IN : casesToDelete];
- for(Case c: casesToDelete){
- c.OwnerId = '005i0000001I5Y3';
- c.Guest_Email__c = '';
- c.Guest_Name__c = 'Purged';
- }
- for(Account a: accountsToDelete){
- a.Id = '0018A000006Xvgo';
- }
- for(EmailMessage e: messagesToDelete){
- e.FromAddress = '';
- e.ToAddress = ''
- }
- update casesToDelete;
- delete accountsToDelete;
- delete messagesToDelete;
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement