• mirza OSAMA
  • NEWBIE
  • 0 Points
  • Member since 2022

  • Chatter
    Feed
  • 0
    Best Answers
  • 0
    Likes Received
  • 0
    Likes Given
  • 3
    Questions
  • 5
    Replies
how did u pickup the owner id of custom object to send mail in apex salesforce?
/* No of contacts field on account=total contacts associated to account
 * insert,update works but not delete*/

public class mirza {
       
    public static void method1(List<Contact>newlist,list<Contact>oldlist){
      
        set<id>conset=new set<id>();
       try{
        for(Contact c: newlist){
            if(c.AccountId!=null){
                conset.add(c.Accountid);
            }
        }
        if(oldlist!=null){
            for(Contact c:oldlist){
                conset.add(c.AccountId);
            }
        }
        if(conset!=null){
            list<Account> acclist =[select id,No_of_Contacts__c,(select id from Contacts)from Account where id in :conset];
            if(acclist!=null){
            for(Account acc:acclist){
                acc.No_of_Contacts__c=acc.Contacts.Size();
            }
            }
            if(!acclist.isEmpty()){
                Update acclist;
            }
            }
       } Catch(ExCEPtion e){
        System.debug(e.getMESSAGE());
        }
       
    }
}
------------------
trigger mirzatrigger on Contact (after insert,after update,after delete, after undelete) {
    if(Trigger.isInsert || Trigger.isupdate || Trigger.isdelete || Trigger.isUndelete){
        mirza.method1(Trigger.new,Trigger.old);
    }
}
public class test{
 public static void method2(list<Opportunity>newlist,Map<id,opportunity>oldmap){
       try{
       // list<messaging.email>emaillist=new list<Messaging.email>();
        map<id,opportunity>oppmap=new map<id,opportunity>();
       
        for(opportunity opp:newlist){
            // Opportunity opp=new Opportunity();
          //  try{            
            if(oldmap!=null && opp.StageName!=oppmap.get(opp.id).stagename && opp.StageName=='Closed won'){
                oppmap.put(opp.ownerid,opp);
           // }catch(NullpointerException e){
               System.debug('error');
           // }
            }
        }
     list<User> userlist=[select id,Email,Name from User where id  in:oppmap.keyset()];
        list<Messaging.Email>emails=new list<Messaging.email>();
        Map<id,String>usermap=new map<id,String>();
            for(User u:userlist) {
               // if(oppmap.conatinskey(u.id){
                usermap.put(u.id,u.email);
                System.debug('mirza');
          //  }     
            }
       Messaging.SingleEmailMessage msg=new Messaging.SingleEmailMessage();
        for(User u : userList){
     list <String> toadd=new LIST<String>();
            String e1=usermap.get(u.id);
            toadd.add(e1);
            msg.setToAddresses(toadd);
        msg.setSubject('Test subject');
          //  msg.setToAddresses(List<String> param1)
            msg.setPlainTextBody('test body');
          //  messaging.email emaillist[]=new Messaging.email();
         emails.add(msg);
               
        }
        Messaging.sendEmail(emails);
    }
        catch(exception e){
            System.debug(e.getMessage());
        }
}
}

------------
trigger trigopp on Opportunity (after update) {
    if(Trigger.isUpdate && Trigger.isAfter){
        opp8.method2(Trigger.old,Trigger.oldMap);
    }
}
how did u pickup the owner id of custom object to send mail in apex salesforce?
/* No of contacts field on account=total contacts associated to account
 * insert,update works but not delete*/

public class mirza {
       
    public static void method1(List<Contact>newlist,list<Contact>oldlist){
      
        set<id>conset=new set<id>();
       try{
        for(Contact c: newlist){
            if(c.AccountId!=null){
                conset.add(c.Accountid);
            }
        }
        if(oldlist!=null){
            for(Contact c:oldlist){
                conset.add(c.AccountId);
            }
        }
        if(conset!=null){
            list<Account> acclist =[select id,No_of_Contacts__c,(select id from Contacts)from Account where id in :conset];
            if(acclist!=null){
            for(Account acc:acclist){
                acc.No_of_Contacts__c=acc.Contacts.Size();
            }
            }
            if(!acclist.isEmpty()){
                Update acclist;
            }
            }
       } Catch(ExCEPtion e){
        System.debug(e.getMESSAGE());
        }
       
    }
}
------------------
trigger mirzatrigger on Contact (after insert,after update,after delete, after undelete) {
    if(Trigger.isInsert || Trigger.isupdate || Trigger.isdelete || Trigger.isUndelete){
        mirza.method1(Trigger.new,Trigger.old);
    }
}