2014-10-13 4 views
0

I Создан триггер, который обновит поле Resume_Souce__c на контакте на основе имени записи записи ETCObject.Trigger to Update Связанная с ним запись на основе записи

Триггеры, похоже, работают, но по какой-то причине не обновляет поле Resume_Source__c на основе значения в поле «Имя». Он просто обновляет его с помощью «Другое», хотя имя ETCObject содержит «JobDB».

Вот код:

trigger DerekUpdateResumeSource on AVTRRT__ETCObject__c (after insert, after update) { 

    Map<Id, AVTRRT__ETCObject__c> ETCmap = new Map<Id,AVTRRT__ETCObject__c>(); 
    for(AVTRRT__ETCObject__c a:trigger.new) 
    { 
     ETCmap.put(a.AVTRRT__Candidate__c, a); 
    } 
    List<Contact> candidate = [Select Id, AVTRRT__Source__c from Contact WHERE ID IN:ETCmap.keyset() AND RecordtypeID = '012A0000000v0La']; 
    List<Contact> ContactsToUpdate = new List<Contact>(); 
    for(Contact c:candidate) 
    { 
     If(c.AVTRRT__Source__c == '' && ETCmap.get(c.Id).AVTRRT__Name__c.contains('jobsDB')) 
     { 
      c.AVTRRT__Source__c = 'JobsDB'; 
      ContactsToUpdate.add(c); 
     } else if(c.AVTRRT__Source__c == '' && ETCmap.get(c.Id).AVTRRT__Name__c.contains('Clyde Marine Recruitment')){ 
      c.AVTRRT__Source__c = 'Clyde Marine Recruitment'; 
      ContactsToUpdate.add(c); 
     } else if(c.AVTRRT__Source__c == '' && ETCmap.get(c.Id).AVTRRT__Name__c.contains('Corporate Event')){ 
      c.AVTRRT__Source__c = 'Corporate Event'; 
      ContactsToUpdate.add(c); 
     } else if(c.AVTRRT__Source__c == '' && ETCmap.get(c.Id).AVTRRT__Name__c.contains('e Financial Careers')){ 
      c.AVTRRT__Source__c = 'e Financial Careers'; 
      ContactsToUpdate.add(c); 
     } else if(c.AVTRRT__Source__c == '' && ETCmap.get(c.Id).AVTRRT__Name__c.contains('Head Hunt')){ 
      c.AVTRRT__Source__c = 'Head Hunt'; 
      ContactsToUpdate.add(c); 
     } else if(c.AVTRRT__Source__c == '' && ETCmap.get(c.Id).AVTRRT__Name__c.contains('Indeed')){ 
      c.AVTRRT__Source__c = 'Indeed'; 
      ContactsToUpdate.add(c); 
     } else if(c.AVTRRT__Source__c == '' && ETCmap.get(c.Id).AVTRRT__Name__c.contains('Jobstreet')){ 
      c.AVTRRT__Source__c = 'Jobstreet'; 
      ContactsToUpdate.add(c); 
     } else if(c.AVTRRT__Source__c == '' && ETCmap.get(c.Id).AVTRRT__Name__c.contains('Linked In')){ 
      c.AVTRRT__Source__c = 'Linked In'; 
      ContactsToUpdate.add(c); 
     } else if(c.AVTRRT__Source__c == '' && ETCmap.get(c.Id).AVTRRT__Name__c.contains('Linkedin Advert')){ 
      c.AVTRRT__Source__c = 'Linkedin Advert'; 
      ContactsToUpdate.add(c); 
     } else if(c.AVTRRT__Source__c == '' && ETCmap.get(c.Id).AVTRRT__Name__c.contains('LinkedIn Recruiter')){ 
      c.AVTRRT__Source__c = 'LinkedIn Recruiter'; 
      ContactsToUpdate.add(c); 
     } else if(c.AVTRRT__Source__c == '' && ETCmap.get(c.Id).AVTRRT__Name__c.contains('Oil&Gas JobSearch')){ 
      c.AVTRRT__Source__c = 'Oil&Gas JobSearch'; 
      ContactsToUpdate.add(c); 
     } else if(c.AVTRRT__Source__c == '' && ETCmap.get(c.Id).AVTRRT__Name__c.contains('OilCareers')){ 
      c.AVTRRT__Source__c = 'OilCareers'; 
      ContactsToUpdate.add(c); 
     } else if(c.AVTRRT__Source__c == '' && ETCmap.get(c.Id).AVTRRT__Name__c.contains('Reed')){ 
      c.AVTRRT__Source__c = 'Reed'; 
      ContactsToUpdate.add(c); 
     } else if(c.AVTRRT__Source__c == '' && ETCmap.get(c.Id).AVTRRT__Name__c.contains('Referrals')){ 
      c.AVTRRT__Source__c = 'Referrals'; 
      ContactsToUpdate.add(c); 
     } else if(c.AVTRRT__Source__c == '' && ETCmap.get(c.Id).AVTRRT__Name__c.contains('S1 Jobs')){ 
      c.AVTRRT__Source__c = 'S1 Jobs'; 
      ContactsToUpdate.add(c); 
     } else if(c.AVTRRT__Source__c == '' && ETCmap.get(c.Id).AVTRRT__Name__c.contains('Straits Times')){ 
      c.AVTRRT__Source__c = 'Straits Times'; 
      ContactsToUpdate.add(c); 
     } else if(c.AVTRRT__Source__c == '' && ETCmap.get(c.Id).AVTRRT__Name__c.contains('Trade Winds')){ 
      c.AVTRRT__Source__c = 'Trade Winds'; 
      ContactsToUpdate.add(c); 
     } else if(c.AVTRRT__Source__c == '' && ETCmap.get(c.Id).AVTRRT__Name__c.contains('UK Job Centre')){ 
      c.AVTRRT__Source__c = 'UK Job Centre'; 
      ContactsToUpdate.add(c); 
     } else { 
      c.AVTRRT__Source__c = 'Other'; 
      ContactsToUpdate.add(c); 
     } 
    } 
update ContactsToUpdate; 
} 

ответ

0

По некоторым причинам он не признает «» на, если критерии. После его замены он будет работать как ожидалось.

еще если (c.AVTRRT__Source__c == ''

к

еще если (c.AVTRRT__Source__c == NULL

Смежные вопросы