You need to sign in to do that
Don't have an account?
chaitanya salesforcecrm
How to Insert data in to Related List on Contact Object
Below is the apex class which i have written to insert data in to related list on contact.i am not getting error while executing the class but the data in not getting saved in the related list object.kindly let me know where i am doing wrong?
public class IntralinksExtension { public IntralinksExtension(ApexPages.StandardSetController controller) { } Public Contact Cont{get;set;} public String ContactId {get;set;} public string IntragroupId {get;set;} Public void Save(){ ContactId = ApexPages.CurrentPage().getparameters().get('Id'); IntragroupId = ApexPages.CurrentPage().getparameters().get('ILPG1'); List<Contact> Cnt = New List<Contact>([select Id,Name,(select Id,Name from Intralinks_Group_and_Contact_Links__r)from Contact where Id=:ContactId]); if(!Cnt.isEmpty()){ Cnt[0].Intralinks_Group_and_Contact_Links__r[0].Contact__c = ContactId; Cnt[0].Intralinks_Group_and_Contact_Links__r[0].Intralinks_Portal_Group__c = IntragroupId; insert Cnt; } }
Check the below code. In your case there are two use cases.
public class IntralinksExtension {
public IntralinksExtension(ApexPages.StandardSetController controller) {
}
Public Contact Cont{get;set;}
public String ContactId {get;set;}
public string IntragroupId {get;set;}
private List<Intralinks_Group_and_Contact_Links__c> listToInsert;
Public void Save(){
List<Contact> Cnt = New List<Contact>([select Id,Name,(select Id,Name from Intralinks_Group_and_Contact_Links__r)from Contact where Id=:ContactId]);
if(!Cnt.isEmpty()){
// Check if contact has already some records if so then update them else create them
if(Cnt[0].Intralinks_Group_and_Contact_Links__r.size()>0){
Cnt[0].Intralinks_Group_and_Contact_Links__r[0].Contact__c = ContactId;
Cnt[0].Intralinks_Group_and_Contact_Links__r[0].Intralinks_Portal_Group__c = IntragroupId;
update cnt;
}else{
// insert new record
listToInsert = new Intralinks_Group_and_Contact_Links__c();
Intralinks_Group_and_Contact_Links__c newRecord = new Intralinks_Group_and_Contact_Links__c();
newRecord.Contact__c = ContactId;
newRecord.Intralinks_Portal_Group__c = IntragroupId;
listToInsert.add(newRecord);
}
if(listToInsert.size()>0){
insert listToInsert;
}
}
}
}
Can you please help me with the below code
IRequirement is as below
Contact already has some records in related list(If yes then update them.)
No records in related list(Create new records)
public with sharing class ChildContactControllerApex {
public contact mycontact {get; set;}
public string contactId{get; set;}
public string EName{get; set;}
public string EEmergencyContactRelationship{get; set;}
public string EEmergencyContactPhone{get; set;}
private List<Emergency_Contact_Information__c> eList = New List<Emergency_Contact_Information__c>();
public ChildContactControllerApex(ApexPages.StandardSetController controller) {}
public pageReference Save()
Cont = [Select Id, FirstName,LastName,(Select Name,Emergency_Contact_Relationship__c,Emergency_Contact_Phone__c from
Emergency_Contact_Informations__r)from Contact Where Id='0030R000012RtfcQAC'];
if(!Cont.isEmpty()){
//Check if contact has already some records if so then update them else create them
if(cont[0].Emergency_Contact_Informations__r.size()>0)
{
cont[0].Emergency_Contact_Informations__r[0].contact__c= '0030R000012RtfcQAC';
cont[0].Emergency_Contact_Informations__r[0].Name=EName;
cont[0].Emergency_Contact_Informations__r[0].Emergency_Contact_Relationship__c= EEmergencyContactRelationship;
cont[0].Emergency_Contact_Informations__r[0].Emergency_Contact_Phone__c = EEmergencyContactPhone;
update con;
}else{
//Insert new record
Emergency_Contact_Information__c createNew = New Emergency_Contact_Information__c();
createNew.Contact__c = '0030R000012RtfcQAC';
createNew.Name = EName;
createNew.Emergency_Contact_Relationship__c = EEmergencyContactRelationship;
createNew.Emergency_Contact_Phone__c = EEmergencyContactPhone;
eList.add(createNew);
}
if(eList.size()>0){
Insert eList;
}
}
}
public contact getcontact()
{
return mycontact;
}
}
Visualforce page
<apex:page standardController="Contact" extensions="ChildContactControllerApex">
<apex:form >
<apex:pageBlock title="Please Update Emergency Contact Information" mode="edit">
<apex:pageBlockSection >
<apex:outputField value="{!mycontact.FirstName}"/><br></br>
<apex:outputField value="{!mycontact.LastName}"/><br></br>
<apex:inputText label="Emergency Contact Name" value="{!EName}"/><br></br>
<apex:inputText label="Emergency Contact Relationship" value="{!EEmergencyContactRelationship}"/><br></br>
<apex:inputText label="Emergency Contact Phone" value="{!EEmergencyContactPhone}"/><br></br>
</apex:pageBlockSection>
<apex:pageblockbuttons >
<apex:commandButton value="Save" Action="{!Save}"/>
</apex:pageblockbuttons>
</apex:pageBlock>
</apex:form>
</apex:page>