Advertisement
Guest User

Untitled

a guest
Jun 29th, 2016
200
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 1.25 KB | None | 0 0
  1. Date threshold = Date.today().addDays(-30);
  2. List<Account> accountsToDelete = new List<Account>();
  3. List<Case> casesToDelete = new List<Case>();
  4. List<EmailMessage> messagesToDelete = new List<EmailMessage>();
  5. Integer count = 0;
  6. Integer count2 = 0;
  7. Integer count3 = 0;
  8. for (Account account : [
  9. SELECT (SELECT LastModifiedDate FROM Cases ORDER BY LastModifiedDate DESC)
  10. FROM Account WHERE Id IN (
  11. SELECT AccountId FROM Case
  12. WHERE LastModifiedDate < :threshold
  13. AND Account.Name Like '%Test%'
  14.  
  15. )
  16. ]){
  17. if (account.Cases[0].LastModifiedDate < threshold)
  18. {
  19. accountsToDelete.add(account);
  20. casesToDelete.addAll(account.Cases);
  21. }
  22. }
  23. messagesToDelete = [ SELECT Id, ParentId FROM EmailMessage WHERE ParentId IN : casesToDelete];
  24.  
  25. for(Case c: casesToDelete){
  26. c.OwnerId = '005i0000001I5Y3';
  27. c.Guest_Email__c = '';
  28. c.Guest_Name__c = 'Purged';
  29. }
  30.  
  31. for(Account a: accountsToDelete){
  32. a.Id = '0018A000006Xvgo';
  33. }
  34.  
  35. for(EmailMessage e: messagesToDelete){
  36. e.FromAddress = '';
  37. e.ToAddress = ''
  38. }
  39.  
  40.  
  41. update casesToDelete;
  42. delete accountsToDelete;
  43. delete messagesToDelete;
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement