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
Qadir KhanQadir Khan 

This trigger is not working for delete please help me

trigger updateRelatedCon on Task (after insert,after update,after delete) {
   Set<String> whoIds = new Set<String>();
   list<task> tsk=Trigger.isDelete?Trigger.old:Trigger.new;
    for (Task t :tsk)
    {
      whoIds.add(t.WhoId);
    }
    List<Contact> cons =[SELECT Id,Due_Date__c,Priority__c,Subject__c  FROM Contact WHERE Id =: whoIds];
    Map<String, Task> taskMap = new Map<String, Task>();
    for (Task t : tsk)
    {
      taskMap.put(t.WhoId, t);
    }
    for (Contact c : cons)
    {
      if (taskMap.containsKey(c.Id))
      {
        c.Due_Date__c= taskMap.get(c.Id).ActivityDate;
        c.Priority__c= taskMap.get(c.Id).Priority;
        c.Subject__c = taskMap.get(c.Id).Subject;
      }
    }
    update cons;
}
Banwari kevat1Banwari kevat1
Hello Qadir Khan,
   please find code below it is working fine i have tried..let me know if it is not working...
 
trigger updateRelatedCon on Task (after delete) {
   Set<String> whoIds = new Set<String>();
   list<task> tsk=Trigger.isDelete?Trigger.old:Trigger.new;
    System.debug('tsk: '+tsk);
    for (Task t :tsk)
    {
      whoIds.add(t.WhoId);
    }
    List<Contact> cons =[SELECT Id,Due_Date__c,Priority__c,Subject__c  FROM Contact WHERE Id =: whoIds];
    Map<String, Task> taskMap = new Map<String, Task>();
    for (Task t : tsk)
    {
      taskMap.put(t.WhoId, t);
    }
    for (Contact c : cons)
    {
      if (taskMap.containsKey(c.Id))
      {
        c.Due_Date__c= taskMap.get(c.Id).ActivityDate;
        c.Priority__c= taskMap.get(c.Id).Priority;
        c.Subject__c = taskMap.get(c.Id).Subject;
      }
    }
    update cons;
}

Please let me know if it is not working.

Regards
 Banwari kevat