/*
Insert values on an Custom Object using VF page and custom controller as well as on basis of this use a trigger to insert value in another Custom object using a trigger and a class.
*/
/*
Consideration following for below code :-
your object names :- AKG__A__c, AKG__B__c
VF page name:- t1ONACon , controller name :- t1ONACu
Apex Trigger name :- InsertOnB , Apex Class :- trgInsobjB
*/
VF page name:- t1ONACon
Insert values on an Custom Object using VF page and custom controller as well as on basis of this use a trigger to insert value in another Custom object using a trigger and a class.
*/
/*
Consideration following for below code :-
your object names :- AKG__A__c, AKG__B__c
VF page name:- t1ONACon , controller name :- t1ONACu
Apex Trigger name :- InsertOnB , Apex Class :- trgInsobjB
*/
VF page name:- t1ONACon
<apex:page controller="t1ONACu" > <apex:pageMessages /> <apex:form > <apex:outputLabel value="Saved Successfully!" style="font-weight:bold;color:green" rendered="{!errFlag}"/> <apex:pageBlock title="Insert object A"> <apex:pageblockButtons > <apex:commandButton value="Save!!" action="{!savemethod}"/> </apex:pageblockButtons> <apex:pageblocksection title="Basic Information"> <apex:inputField value="{!Aobjstr.name}"/> <apex:inputField value="{!Aobjstr.aaa__c}"/> </apex:pageblocksection> </apex:pageBlock> </apex:form> </apex:page>
Controller name :- t1ONACu
public with sharing class t1ONACu {
public AKG__A__c Aobjstr {get;set;}
public boolean errFlag{get;set;}
public t1ONACu(){
Aobjstr= new AKG__A__c();
errFlag = false;
}
public void savemethod(){
try{
insert Aobjstr;
errFlag = true;
}
catch(Exception e){
errFlag = false;
ApexPages.addMessage( new ApexPages.message(ApexPages.Severity.Error,'MY ERRRR'+e)) ;
}
}
}
Apex Trigger name :- InsertOnB
trigger InsertOnB on A__c (After insert) {
set<id> objAId = new set<id>();
if(trigger.isinsert){
for(A__c a:Trigger.new){
system.debug('~~~~~~a'+a);
objAId.add(a.id);
}
system.debug('~~~~~~objAId'+objAId);
trgInsobjB clsB = new trgInsobjB();
clsB.insertObjB(objAId,Trigger.new);
}
}
Apex Class :- trgInsobjB
public with sharing class trgInsobjB{
public void insertObjB(set<id> aid,A__c[] Alist ){
Id myid= new List<id>(aid)[0];
System.debug('~~~~~~InSide Class aid '+aid+' ~~~~~ Alist '+Alist+'~~~~myid '+myid);
if(aid != null)
{
AKG__B__c B = new AKG__B__c();
B.name = Alist[0].Name+ 'FRM A';
B.AKG__B_A__c = myid;
B.AKG__OnB__c = myid;
insert B;
}
}
}