function readOnly(count){ }
Starting November 20, the site will be set to read-only. On December 4, 2023,
forum discussions will move to the Trailblazer Community.
+ Start a Discussion
Babar Hussain 4Babar Hussain 4 

Apex & Trigger

My requirement is when case status(piclist) updated , task status (Picklist) should be updated as same
Trigger On Case :
trigger CaseTriggers on Case (after update) {
    CaseTriggersHandlers cas=new CaseTriggersHandlers();
    cas.updateTkstatus(Trigger.New);
}

Apex Class :
public class CaseTriggersHandlers {
    public void updateTkstatus(List<Case> listcase){ // Multiple Case record
        List<Task> lisTas = [select Status,Case.Status from Task where CaseId =:listcase];
        List<Task> liststatus =new List<Task>();
        Task sT = new Task();
        for(Task tk : lisTas)
        {
            sT.Status=sT.Case.Status;
            liststatus.add(sT);
        }
        update liststatus;
}I'm getting error in this code can anyone please modify and share to meUser-added image
}
Best Answer chosen by Babar Hussain 4
mukesh guptamukesh gupta
Hi BAber,


Note:- Please Don't share image of code, because it's very difficult for reply, For now i have write down my self


Please use below code:-
 
trigger CaseTriggers on Case(after update){
    CaseTriggerHandlers cas = new CaseTriggerHandlers();
    if(trigger.isAfter && trigger.isUpdate){
        cas.updateTkstatus(trigger.newMap); 
    }       
}
 
public class CaseTriggerHandlers {
    public void updateTkstatus(Map<Id, Case> caseMap){
        List<Task> lisTas = [Select Status from Task where WhatId IN: caseMap.keySet()];
        for(Task tk : lisTas){
               tk.Status =  caseMap.get(tk.WhatId).Status;
        }
        
        if(lisTas.size() > 0)
            update lisTas;
    }
}


if you need any assistanse, Please let me know!!

Kindly mark my solution as the best answer if it helps you.

Thanks
Mukesh