I am trying to create a function which reads selected rows of contact and saves them only if they don't already exist. but i get error for "Before Insert or Upsert list must not have two identically equal elements" at the point of insert.
public pagereference import(){
List<Related_Contact__c> selectedContacts = new List<Related_Contact__c>();
List<Consultee__c> consultees = new List<Consultee__c>();
for (consulteeWrapper cCon : wrapList){
if(cCon.isSelect == true){
Related_Contact__c cont = new Related_Contact__c();
cont.Related_Person__c = cCon.statCon.Contact__c;
cont.Role__c = cCon.statCon.Role__c;
cont.Related_Activity__c = activity.Id;
selectedContacts.add(cont);
consultees.add(cCon.statCon);
}
}
List<Related_Contact__c> uniqueContacts = new List<Related_Contact__c>();
for(Related_Contact__c existingCon: relatedConsulteeList){
for(Related_Contact__c selectedCon : selectedContacts){
if(selectedCon != existingCon){
uniqueContacts.add(selectedCon);
}
}
}
insert uniqueContacts;
for(Consultee__c c : [SELECT Id, Process_Record_Type__c FROM Consultee__c WHERE Id =: consultees]){
c.Process_Record_Type__c = processRecordType;
}
update consultees;
selectedContacts = null;
Pagereference page = new PageReference('/apex/ProcessView?id=' + statId);
return page;
}