Tuesday, March 12, 2013

Sending Email to Select Contacts using Wrapper Classes


Ex:1

Visualforce Page:

<apex:page controller="wrapcls1" >
<apex:form >
<apex:pageblock >
<apex:pageblocktable value="{!lst}" var="w">
<apex:column value="{!w.name}"/>
<apex:column value="{!w.num}"/>
</apex:pageblocktable>
</apex:pageblock>
</apex:form>
</apex:page>

Apex Class:


public with sharing class wrapcls1 {
    
    public class wrapper{
    
        public string name{get; set;}
        public integer num {get; set;}
        
        public wrapper(string s, integer i ){
            name=s;
            num=i;
                                                           }        
                                     }
        
    public List<wrapper> lst{get; set;}
    
    public wrapcls1(){
    lst= new List<wrapper>();
    lst.add(new wrapper('Charan',5000));
    lst.add(new wrapper('Ravi',6000));
    lst.add(new wrapper('Hari',7000));
    System.debug('----->'+lst);
                             }    
                                                  }

Ex:2

Visualforce Page:

<apex:page controller="wrapcls2" >
<apex:form >
<apex:Pageblock >
<apex:pageblocktable value="{!lstwrap}" var="w">
<apex:column >
<apex:inputcheckbox value="{!w.ischeck}"/>
</apex:column>
<apex:column value="{!w.c.name}"/>
</apex:pageblocktable>
<apex:commandbutton value="Selected" action="{!selected}"/> 
</apex:Pageblock>
</apex:form>
</apex:page>

Apex Class:

public with sharing class wrapcls2 {
public class wrapper{
public boolean isCheck{get; set;}
public Contact c{get; set;}
public wrapper(boolean b, Contact con ){
isCheck = b;
c = con;
}
}
public list<wrapper> lstwrap {get; set;}
public wrapcls2(){
List<Contact> lst= [Select id, name,email from Contact limit 10];
lstwrap = new List<wrapper>();
for(Contact c:lst){
lstwrap.add(new wrapper(false,c));
                                    }
                                }
List<String> selectedlst = new List<String>();
public void selected(){
System.debug('---------->'+lstwrap);
for(wrapper w:lstwrap){
if(w.isCheck == true){
System.debug('---------->'+w.c);
selectedlst.add(w.c.email);
                                             }
                                           }
Messaging.SingleEmailMessage mail = new Messaging.SingleEmailMessage();
mail.setSubject('Morning Wishes');
mail.setPlainTextBody('Good Morning');
mail.setToAddresses(selectedlst);
Messaging.sendEmail(new Messaging.SingleEmailMessage[] { mail });
                                           }
                                                     }

No comments:

Post a Comment