Trigger PreventDuplicateContact on Contact (before insert,before update) {
if(trigger.isInsert || trigger.isUpdate) { Map<Id,List<Contact>> accMap = new Map<Id,List<Contact>>(); List<Contact> contactList; for(Contact c: [Select Id,Email,accountId from Contact]){ if(accMap.containsKey(c.accountId)){ accMap.get(c.accountId).add(c); } else{ contactList = new List<Contact>(); contactList.add(c); accMap.put(c.accountId,contactList); } } for (Contact c : Trigger.new) { if(accMap.containsKey(c.accountId)){ for(Contact con : accMap.get(c.accountId)){ if(c.Email == con.Email){ c.Email.addError('Contact with this email address already exists'); } } } } } }
No comments:
Post a Comment