Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- public class LeadTriggerHandler {
- public void BeforeInsert(List<Lead> newList){
- List<Lead> leadsWithFive9InboundCampaign = new List<Lead>();
- for(Lead l : newList){
- if(l.Five9_Inbound_Campaign_Name__c != null){
- leadsWithFive9InboundCampaign.add(l);
- }
- }
- if(!leadsWithFive9InboundCampaign .isEmpty()){
- populateLeadSourceNameLookup(leadsWithFive9InboundCampaign );
- }
- }
- public void BeforeUpdate(List<Lead> newList, Map<ID,Lead> newMap, List<Lead> oldList, Map<ID,Lead> oldMap){
- List<Lead> leadsWithChangedFive9InboundCampaign = new List<Lead>();
- if(!leadsWithChangedFive9InboundCampaign .isEmpty()){
- populateLeadSourceNameLookup(leadsWithChangedFive9InboundCampaign );
- }
- }
- private void populateLeadSourceNameLookup(List<Lead> myLeads){
- Set<String> five9CampaignNames = new Set<String>();
- for(Lead l : myLeads){
- if(l.Five9_Inbound_Campaign_Name__c == null){
- l.Lead_Source_Name__c = null;
- } else {
- five9CampaignNames.add(l.Five9_Inbound_Campaign_Name__c);
- }
- }
- Map<String,Id> campaignNameToId = new Map<String,Id>();
- for( Campaign c : [SELECT ID, Name FROM Campaign WHERE Name IN :five9CampaignNames ]){
- campaignNameToId.put(c.name,c.id);
- }
- for(Lead l : myLeads){
- if(l.Five9_Inbound_Campaign_Name__c != null){
- l.Lead_Source_Name__c = campaignNameToId.get(l.Five9_Inbound_Campaign_Name__c);
- }
- }
- }
- Method does not exist or incorrect signature: void AfterInsert(List<Lead>, Map<Id,Lead>) from the type LeadTriggerHandler
- Method does not exist or incorrect signature: void AfterUpdate(List<Lead>, Map<Id,Lead>, List<Lead>, Map<Id,Lead>) from the type LeadTriggerHandler
- Method does not exist or incorrect signature: void BeforeDelete(List<Lead>, Map<Id,Lead>) from the type LeadTriggerHandler
- Method does not exist or incorrect signature: void AfterDelete(List<Lead>, Map<Id,Lead>) from the type LeadTriggerHandler
- trigger LeadTrigger on Lead (before insert, before update, before delete, after insert, after update, after delete) {
- LeadTriggerHandler handler = new LeadTriggerHandler();
- if(Trigger.isInsert && Trigger.isBefore){
- handler.BeforeInsert(Trigger.new);
- }
- if(Trigger.isInsert && Trigger.isAfter){
- handler.AfterInsert(Trigger.new, Trigger.newMap);
- }
- if(Trigger.isUpdate && Trigger.isBefore){
- handler.BeforeUpdate(Trigger.new, Trigger.newMap, Trigger.old, Trigger.oldMap);
- }
- if(Trigger.isUpdate && Trigger.isAfter){
- handler.AfterUpdate(Trigger.new, Trigger.newMap, Trigger.old, Trigger.oldMap);
- }
- if(Trigger.isDelete && Trigger.isBefore){
- handler.BeforeDelete(Trigger.old, Trigger.oldMap);
- }
- if(Trigger.isDelete && Trigger.isAfter){
- handler.AfterDelete(Trigger.old, Trigger.oldMap);
- }
Add Comment
Please, Sign In to add comment