You need to sign in to do that
Don't have an account?
Manoprabha Palpandian
Can any one explain what is wrapper class and in my code how to use it
public class Registrationcontroller {
public Registration1__c reg1 {get;set;}
public String editid {get;set;}
public Hotel__c hotel {get;set;}
public AirTravel__c air {get;set;}
public Registrationcontroller()
{
reg1 = new Registration1__c();
hotel = new Hotel__c();
air = new AirTravel__c();
}
public List<Registration1__c> getregisterlist(){
List<Registration1__c> listreg= new List<Registration1__c>();
listreg=[SELECT Id, Name, FirstName__c, LastName__c, Email__c, (SELECT Id,Name, Check_In_Date__c, Check_Out_Date__c, Hotel_Commands__c FROM Hotels__r),
(SELECT Id,Name, Arrival__c, Departure__c, Air_Commands__c FROM AirTravels__r) FROM Registration1__c];
return listreg;
}
public void editfunction() {
system.debug('editfunction inside===>'+editid);
set<Id> HotelIds = new set<Id>();
set<Id> AirTravelIds = new set<Id>();
for(Registration1__c reg1 : [SELECT Id,Name, FirstName__c, LastName__c, Email__c,
(SELECT Id,Name, Check_In_Date__c, Check_Out_Date__c, Hotel_Commands__c FROM Hotels__r),
(SELECT Id,Name, Arrival__c, Departure__c, Air_Commands__c FROM AirTravels__r)
FROM Registration1__c where id=:editid]){
for(Hotel__c Hotel : reg1.Hotels__r){
HotelIds.add(Hotel.Id);
}
for(AirTravel__c AirTravels : reg1.AirTravels__r){
AirTravelIds.add(AirTravels.Id);
}
}
}
public void deletefunction() {
system.debug('editfunction inside===>'+editid);
List<Registration1__c> reg2=[SELECT Id, Name, FirstName__c, LastName__c, Email__c
FROM Registration1__c where id=:editid];
delete reg2;
ApexPages.addMessage(new ApexPages.Message(ApexPages.SEVERITY.INFO,'Record deleted successfully'));
}
public void saveaction()
{
system.debug('saveaction inside===>'+reg1);
try{
upsert reg1;
if(reg1.Id !=null){
ApexPages.addMessage(new ApexPages.Message(ApexPages.SEVERITY.INFO,'Record saved successfully'));
if(hotel != null)
{
hotel.Registration1__c = reg1.id;
upsert hotel;
}
if(air != null)
{
air.Registration1__c = reg1.id;
upsert air;
}
} else
{
ApexPages.addMessage(new ApexPages.Message(ApexPages.SEVERITY.ERROR,'Record not saved'));
}
reg1 = new Registration1__c();
hotel = new Hotel__c();
air = new AirTravel__c();
}
Catch(Exception e)
{
System.debug(e.getMessage());
}
}
}
<apex:page controller="Registrationcontroller" id="theRepeat" sidebar="false" showHeader="true">
<apex:form >
<apex:pageBlock id="pg1" >
<apex:messages />
<apex:pageBlockSection columns="1" >
<apex:inputField label="FirstName" value="{!reg1.FirstName__c}"/>
<apex:inputField label="LastName" value="{!reg1.LastName__c}"/>
<apex:inputField label="Email" value="{!reg1.Email__c}"/>
<apex:inputField label="Hotel Commands" value="{!hotel.Hotel_Commands__c}"/>
<apex:inputField label="Air Commands" value="{!air.Air_Commands__c}"/>
<apex:inputField label="CheckInDate" value="{!hotel.Check_In_Date__c}"/>
<apex:inputField label="CheckOutDate" value="{!hotel.Check_Out_Date__c}"/>
<apex:inputField label="Arrival" value="{!air.Arrival__c}"/>
<apex:inputField label="Departure" value="{!air.Departure__c}"/>
</apex:pageBlockSection>
<apex:pageBlockButtons >
<apex:commandButton value="save" action="{!saveaction}" rerender="pg1,theTable" />
</apex:pageBlockButtons>
</apex:pageBlock>
<apex:pageBlock >
<apex:dataTable value="{!registerlist}" var="regvalue" id="theTable" width="100%">
<apex:facet name="caption">Registration List</apex:facet>
<apex:column headerValue="Reg ID"><apex:outputText value="{!regvalue.Name}" /> </apex:column>
<apex:column headerValue="FirstName"><apex:outputText value="{!regvalue.FirstName__c}" /> </apex:column>
<apex:column headerValue="LastName"><apex:outputText value="{!regvalue.LastName__c}" /> </apex:column>
<apex:column headerValue="Email"><apex:outputText value="{!regvalue.Email__c}" /> </apex:column>
<apex:repeat value="{!regvalue.Hotels__r}" var="c">
<apex:column headerValue="Hotel ID"> <apex:outputText value="{!c.Name}"/></apex:column>
<apex:column headerValue="CheckInDate"> <apex:outputText value="{!c.Check_In_Date__c}"/></apex:column>
<apex:column headerValue="CheckOutDate"><apex:outputText value="{!c.Check_Out_Date__c}"/></apex:column>
<apex:column headerValue="Hotel Commands"><apex:outputText value="{!c.Hotel_Commands__c}"/></apex:column>
</apex:repeat>
<apex:repeat value="{!regvalue.AirTravels__r}" var="d">
<apex:column headerValue="Air ID"><apex:outputText value="{!d.Name}"/></apex:column>
<apex:column headerValue="Arrival"><apex:outputText value="{!d.Arrival__c}"/></apex:column>
<apex:column headerValue="Departure"><apex:outputText value="{!d.Departure__c}"/></apex:column>
<apex:column headerValue="Air Commands"><apex:outputText value="{!d.Air_Commands__c}"/></apex:column>
</apex:repeat>
<apex:column >
<apex:commandLink value="Edit" action="{!editfunction}" rerender="pg1">
<apex:param name="cid" value="{!regvalue.id}" assignto="{!editid}"/>
</apex:commandLink> ||
<apex:commandLink value="Delete" action="{!deletefunction}" rerender="pg1,theTable">
<apex:param name="cid" value="{!regvalue.id}" assignto="{!editid}"/>
</apex:commandLink>
</apex:column>
</apex:dataTable>
</apex:pageBlock>
</apex:form>
</apex:page>
public Registration1__c reg1 {get;set;}
public String editid {get;set;}
public Hotel__c hotel {get;set;}
public AirTravel__c air {get;set;}
public Registrationcontroller()
{
reg1 = new Registration1__c();
hotel = new Hotel__c();
air = new AirTravel__c();
}
public List<Registration1__c> getregisterlist(){
List<Registration1__c> listreg= new List<Registration1__c>();
listreg=[SELECT Id, Name, FirstName__c, LastName__c, Email__c, (SELECT Id,Name, Check_In_Date__c, Check_Out_Date__c, Hotel_Commands__c FROM Hotels__r),
(SELECT Id,Name, Arrival__c, Departure__c, Air_Commands__c FROM AirTravels__r) FROM Registration1__c];
return listreg;
}
public void editfunction() {
system.debug('editfunction inside===>'+editid);
set<Id> HotelIds = new set<Id>();
set<Id> AirTravelIds = new set<Id>();
for(Registration1__c reg1 : [SELECT Id,Name, FirstName__c, LastName__c, Email__c,
(SELECT Id,Name, Check_In_Date__c, Check_Out_Date__c, Hotel_Commands__c FROM Hotels__r),
(SELECT Id,Name, Arrival__c, Departure__c, Air_Commands__c FROM AirTravels__r)
FROM Registration1__c where id=:editid]){
for(Hotel__c Hotel : reg1.Hotels__r){
HotelIds.add(Hotel.Id);
}
for(AirTravel__c AirTravels : reg1.AirTravels__r){
AirTravelIds.add(AirTravels.Id);
}
}
}
public void deletefunction() {
system.debug('editfunction inside===>'+editid);
List<Registration1__c> reg2=[SELECT Id, Name, FirstName__c, LastName__c, Email__c
FROM Registration1__c where id=:editid];
delete reg2;
ApexPages.addMessage(new ApexPages.Message(ApexPages.SEVERITY.INFO,'Record deleted successfully'));
}
public void saveaction()
{
system.debug('saveaction inside===>'+reg1);
try{
upsert reg1;
if(reg1.Id !=null){
ApexPages.addMessage(new ApexPages.Message(ApexPages.SEVERITY.INFO,'Record saved successfully'));
if(hotel != null)
{
hotel.Registration1__c = reg1.id;
upsert hotel;
}
if(air != null)
{
air.Registration1__c = reg1.id;
upsert air;
}
} else
{
ApexPages.addMessage(new ApexPages.Message(ApexPages.SEVERITY.ERROR,'Record not saved'));
}
reg1 = new Registration1__c();
hotel = new Hotel__c();
air = new AirTravel__c();
}
Catch(Exception e)
{
System.debug(e.getMessage());
}
}
}
<apex:page controller="Registrationcontroller" id="theRepeat" sidebar="false" showHeader="true">
<apex:form >
<apex:pageBlock id="pg1" >
<apex:messages />
<apex:pageBlockSection columns="1" >
<apex:inputField label="FirstName" value="{!reg1.FirstName__c}"/>
<apex:inputField label="LastName" value="{!reg1.LastName__c}"/>
<apex:inputField label="Email" value="{!reg1.Email__c}"/>
<apex:inputField label="Hotel Commands" value="{!hotel.Hotel_Commands__c}"/>
<apex:inputField label="Air Commands" value="{!air.Air_Commands__c}"/>
<apex:inputField label="CheckInDate" value="{!hotel.Check_In_Date__c}"/>
<apex:inputField label="CheckOutDate" value="{!hotel.Check_Out_Date__c}"/>
<apex:inputField label="Arrival" value="{!air.Arrival__c}"/>
<apex:inputField label="Departure" value="{!air.Departure__c}"/>
</apex:pageBlockSection>
<apex:pageBlockButtons >
<apex:commandButton value="save" action="{!saveaction}" rerender="pg1,theTable" />
</apex:pageBlockButtons>
</apex:pageBlock>
<apex:pageBlock >
<apex:dataTable value="{!registerlist}" var="regvalue" id="theTable" width="100%">
<apex:facet name="caption">Registration List</apex:facet>
<apex:column headerValue="Reg ID"><apex:outputText value="{!regvalue.Name}" /> </apex:column>
<apex:column headerValue="FirstName"><apex:outputText value="{!regvalue.FirstName__c}" /> </apex:column>
<apex:column headerValue="LastName"><apex:outputText value="{!regvalue.LastName__c}" /> </apex:column>
<apex:column headerValue="Email"><apex:outputText value="{!regvalue.Email__c}" /> </apex:column>
<apex:repeat value="{!regvalue.Hotels__r}" var="c">
<apex:column headerValue="Hotel ID"> <apex:outputText value="{!c.Name}"/></apex:column>
<apex:column headerValue="CheckInDate"> <apex:outputText value="{!c.Check_In_Date__c}"/></apex:column>
<apex:column headerValue="CheckOutDate"><apex:outputText value="{!c.Check_Out_Date__c}"/></apex:column>
<apex:column headerValue="Hotel Commands"><apex:outputText value="{!c.Hotel_Commands__c}"/></apex:column>
</apex:repeat>
<apex:repeat value="{!regvalue.AirTravels__r}" var="d">
<apex:column headerValue="Air ID"><apex:outputText value="{!d.Name}"/></apex:column>
<apex:column headerValue="Arrival"><apex:outputText value="{!d.Arrival__c}"/></apex:column>
<apex:column headerValue="Departure"><apex:outputText value="{!d.Departure__c}"/></apex:column>
<apex:column headerValue="Air Commands"><apex:outputText value="{!d.Air_Commands__c}"/></apex:column>
</apex:repeat>
<apex:column >
<apex:commandLink value="Edit" action="{!editfunction}" rerender="pg1">
<apex:param name="cid" value="{!regvalue.id}" assignto="{!editid}"/>
</apex:commandLink> ||
<apex:commandLink value="Delete" action="{!deletefunction}" rerender="pg1,theTable">
<apex:param name="cid" value="{!regvalue.id}" assignto="{!editid}"/>
</apex:commandLink>
</apex:column>
</apex:dataTable>
</apex:pageBlock>
</apex:form>
</apex:page>
Hi Manoprabha Palpandian,
Please refer this link for better understanding of wrapper class:
Thanks