• divya gourigari 14
  • NEWBIE
  • 10 Points
  • Member since 2018

  • Chatter
    Feed
  • 0
    Best Answers
  • 0
    Likes Received
  • 0
    Likes Given
  • 7
    Questions
  • 2
    Replies
trigger onOpportunity_AddPointofContact on Opportunity (after update)
{
 List<Point_of_Contact__c> getPrimaryLst=[select id,Primary__c from Point_of_Contact__c where Primary__c =:true];
    List<Point_of_Contact__c> insertPointConList=new List<Point_of_Contact__c>();
    for(Opportunity opp:Trigger.new)
    {
        Opportunity oldRec =Trigger.oldMap.get(opp.Id);
        if(oldRec.StageName != opp.StageName && opp.StageName == 'Approved')
        {
           Point_of_Contact__c con=new Point_of_Contact__c();
           ngsCon.Point_of_Contact__c=opp.Program_Officer__c;
           ngsCon.Contact__c=opp.npsp__Primary_Contact__c;
           ngsCon.Type__c='grant';
           ngsCon.Start_Date__c=opp.FGM_Base__Award_Date__c;
            if(getPrimaryLst.size() == 0){
             ngsCon.Primary__c =true;   
            }
           insertPointConList.add(ngsCon);
        }
        
    }
    if(insertPointConList.size()>0)
    {
        try {
            insert insertPointConList;
            system.debug('====>insertPointConList'+insertPointConList);
           }
        catch (Exception Ex){
            system.debug(Ex);
        }
    }
 
}

here i wrote the code but record is inserting duplicate records
execution of BeforeInsert caused by: System.NullPointerException: Attempt to de-reference a null object Trigger.emailmatchdatacontact: line  29,column 1

trigger emailmatchdatacontact on ContactRelationship__c (before insert,before update) 
{
    List<ContactRelationship__c> con= new List<ContactRelationship__c>();
    List<Contact> conlist=new List<Contact>();
    Set<String> valtocheck=new Set<String>();
    Map<String,Contact> valfound=new Map<String,Contact>();
    for(ContactRelationship__c cr:trigger.new)
    {
      if(!string.isBlank(cr.EmailId__c)) valToCheck.add(cr.EmailId__c);
    }
    system.debug(valToCheck);
    Map<String, boolean> contactRelationCheckMap = new Map<String, boolean>();
    if(valtocheck != null)
    {
    List<Contact> conrelList = new List<Contact>();
    conrelList = [select id,Email from Contact where Email IN:valtocheck];
    if(conrelList.size()>0)
    {
    for(Contact c:conrelList)
    {   
        contactRelationCheckMap.put(c.Email, true);
    }
        for(ContactRelationship__c cr:trigger.new) 
        {  
            for(Contact c:conrelList)
            {
            if(cr.EmailId__c !=null)
            {
            if(contactRelationCheckMap.get(cr.EmailId__c))
            {  
                
                contact connn=new contact();
                connn.Opt_out_status__c=true; 
                connn.opt_out_transaction__c=system.today();
                connn.id=c.Id;
                conlist.add(connn);
                system.debug(c);
                system.debug(connn);
                system.debug('data available');
                system.debug(contactRelationCheckMap);
                } 
            }
            }
        }
         system.debug('conlistconlistconlistconlist');
         system.debug(conlist);
        // valfound.put(cr.Email,cr);
    } 
     // update conlist;
      //System.debug(conlist);
      
    }
    
    try
   {
    system.debug('data available');
    system.debug(conlist);
    update conlist;
    }
    catch(system.NullPointerException e)
    {
        system.debug('data not available');
    }  
}    

 
User-added image


@isTest(SeeAllData=true)
public class emailmatchtestclass 
{
    static testMethod void emilmatch(){
        ContactRelationship__c condata=new ContactRelationship__c();
        condata.Name='divya';
        condata.EmailId__c='update234@gmail.com';
        
        insert condata;
        Contact con=new Contact();
        con.Id=condata.ListofContacts__c;
        con.LastName='divya223';
        con.Email='update234@gmail.com';
        con.Email=condata.EmailId__c;
        system.assertEquals(condata.EmailId__c, 'update234@gmail.com');
        con.Opt_out_status__c=true;
        system.assertEquals(condata.EmailId__c, con.Email);
        test.startTest();
        insert con;
        test.stopTest();
        
        
        
    }
}
execution of BeforeInsert caused by: System.NullPointerException: Attempt to de-reference a null object Trigger.emailmatchdatacontact: line  29,column 1

trigger emailmatchdatacontact on ContactRelationship__c (before insert,before update) 
{
    List<ContactRelationship__c> con= new List<ContactRelationship__c>();
    List<Contact> conlist=new List<Contact>();
    Set<String> valtocheck=new Set<String>();
    Map<String,Contact> valfound=new Map<String,Contact>();
    for(ContactRelationship__c cr:trigger.new)
    {
      if(!string.isBlank(cr.EmailId__c)) valToCheck.add(cr.EmailId__c);
    }
    system.debug(valToCheck);
    Map<String, boolean> contactRelationCheckMap = new Map<String, boolean>();
    if(valtocheck != null)
    {
    List<Contact> conrelList = new List<Contact>();
    conrelList = [select id,Email from Contact where Email IN:valtocheck];
    if(conrelList.size()>0)
    {
    for(Contact c:conrelList)
    {   
        contactRelationCheckMap.put(c.Email, true);
    }
        for(ContactRelationship__c cr:trigger.new) 
        {  
            for(Contact c:conrelList)
            {
            if(cr.EmailId__c !=null)
            {
            if(contactRelationCheckMap.get(cr.EmailId__c))
            {  
                
                contact connn=new contact();
                connn.Opt_out_status__c=true; 
                connn.opt_out_transaction__c=system.today();
                connn.id=c.Id;
                conlist.add(connn);
                system.debug(c);
                system.debug(connn);
                system.debug('data available');
                system.debug(contactRelationCheckMap);
                } 
            }
            }
        }
         system.debug('conlistconlistconlistconlist');
         system.debug(conlist);
        // valfound.put(cr.Email,cr);
    } 
     // update conlist;
      //System.debug(conlist);
      
    }
    
    try
   {
    system.debug('data available');
    system.debug(conlist);
    update conlist;
    }
    catch(system.NullPointerException e)
    {
        system.debug('data not available');
    }  
}