Guest User

Untitled

a guest
Jan 19th, 2018
71
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 1.60 KB | None | 0 0
  1. trigger Campaign_Accounts_After on Campaign_Accounts__c (after insert, after delete, after undelete) {
  2.  
  3. //1. Update Campaign Number of Accounts in Campaign and Parent Campaigns
  4. if(trigger.isInsert || trigger.isUpdate){
  5. //List<Campaign> parentCampaignsUpdate = new List<Campaign>();
  6. Set<Id> associatedCampaignIds = new Set<Id>();
  7. for(Campaign_Accounts__c campaignAccounts : Trigger.new){
  8. associatedCampaignIds.add(campaignAccounts.Campaign__c);
  9. }
  10.  
  11. List<AggregateResult> campaignAccountsCount = [SELECT Campaign__c, COUNT(Account__c) FROM Campaign_Accounts__c WHERE Campaign__c IN : associatedCampaignIds GROUP BY Campaign__c];
  12.  
  13. List<Campaign> campaignsUpdate= new List<Campaign>();
  14. for(AggregateResult ar : campaignAccountsCount){
  15. Campaign c = new Campaign();
  16. //System.debug(ar.get('expr0'));
  17. c.Accounts_in_Campaign__c = (Integer)ar.get('expr0');
  18. //c.HierarchyNumberOfAccounts__c = c.Accounts_in_Campaign__c; //for this also I need to iterate all the child campaigns
  19. c.Id = (Id)ar.get('Campaign__c');
  20. campaignsUpdate.add(c);
  21.  
  22. }
  23. update campaignsUpdate;
  24.  
  25. //Maintain the hierarchy, search for parents
  26. for (Campaign campaign : [SELECT Accounts_in_Campaign__c, HierarchyNumberOfAccounts__c, ParentId FROM Campaign WHERE Id IN :campaignsUpdate])
  27. {
  28. Campaign childCampaign = new Campaign();
  29. if(campaign.ParentId != null){
  30. // In this foor loop: I need to write SOQL to get the Parent Campaign Details and check if Parent has further a parent Campaign or not.
  31. // I am lost here.
  32. }
  33. }
  34. }
Add Comment
Please, Sign In to add comment