• Takshima Goyal 2
  • NEWBIE
  • 0 Points
  • Member since 2022

  • Chatter
    Feed
  • 0
    Best Answers
  • 0
    Likes Received
  • 0
    Likes Given
  • 1
    Questions
  • 1
    Replies
public class ProjectTriggerHandler {

    public static void updateProjectTypeOnAllRelatedRecords(Map<Id, Project__c> mapOfNewProject, Map<Id, Project__c> mapOfOldMap){
        
        if(mapOfNewProject != Null && mapOfOldMap != Null){
            Set<Id> proIds = new Set<Id>();
            
            for(Id newProID: mapOfNewProject.keySet()){
                Project__c newPro = mapOfNewProject.get(newProID);
                Project__c oldPro = mapOfOldMap.get(newProID);
                
                if(newPro.Type__c != oldPro.Type__c){
                    proIds.add(newProID);                    
                }
            }
            List<Timesheet_Entry__c> tsEntriesToUpdte = new List<Timesheet_Entry__c>();
            if(proIds.size()>0){
                List<Timesheet_Entry__c> tsEntries = [SELECT ID, Project_Type__c, Project__c FROM Timesheet_Entry__c 
                                                      WHERE Project__c IN:proIds WITH SECURITY_ENFORCED];
                for(Timesheet_Entry__c tsEntry:tsEntries){
                    tsEntry.Project_Type__c = mapOfNewProject.get(tsEntry.Project__c).Type__c;
                    tsEntriesToUpdte.add(tsEntry);
                }
            }
            if(tsEntriesToUpdte.size()>0){
            update tsEntriesToUpdte;
            }
        }
    }
}
public class ProjectTriggerHandler {

    public static void updateProjectTypeOnAllRelatedRecords(Map<Id, Project__c> mapOfNewProject, Map<Id, Project__c> mapOfOldMap){
        
        if(mapOfNewProject != Null && mapOfOldMap != Null){
            Set<Id> proIds = new Set<Id>();
            
            for(Id newProID: mapOfNewProject.keySet()){
                Project__c newPro = mapOfNewProject.get(newProID);
                Project__c oldPro = mapOfOldMap.get(newProID);
                
                if(newPro.Type__c != oldPro.Type__c){
                    proIds.add(newProID);                    
                }
            }
            List<Timesheet_Entry__c> tsEntriesToUpdte = new List<Timesheet_Entry__c>();
            if(proIds.size()>0){
                List<Timesheet_Entry__c> tsEntries = [SELECT ID, Project_Type__c, Project__c FROM Timesheet_Entry__c 
                                                      WHERE Project__c IN:proIds WITH SECURITY_ENFORCED];
                for(Timesheet_Entry__c tsEntry:tsEntries){
                    tsEntry.Project_Type__c = mapOfNewProject.get(tsEntry.Project__c).Type__c;
                    tsEntriesToUpdte.add(tsEntry);
                }
            }
            if(tsEntriesToUpdte.size()>0){
            update tsEntriesToUpdte;
            }
        }
    }
}