Отправить письмо выбранному контакту из списка выбора, нажав кнопку «Отправить» на странице VF - PullRequest
0 голосов
/ 18 октября 2018

Я создал страницу Vf, на которой отображается имя объекта, связанного с учетной записью, с флажками для выбора и контактами в качестве списка выбора.

Я хочу отправить по электронной почте список выбранных записей выбранному контакту.Как добавить выбранный идентификатор контакта и выбранный список записей в метод EMail.Мой код ниже

public with sharing class Nex_Send_Email{
 private ApexPages.StandardController standardController;
 
    Private Id accID;
    public List<SysWrapper> listSysWrapper {get; set;}
    public List<NEX_System__c> selectedSystems{get;set;}
     //private final List<Id> contactids ;

  public ID contactID {get; set;}
   public List<SelectOption> contactList{get;set;}
    public string selectedContact { get; set; }
      public string selectedReseller {get;set;}
    
    
    public Nex_Send_Email(ApexPages.StandardController standardController)
    {
     accID=  ApexPages.currentPage().getParameters().get('acId');
       system.debug('accID::' +accID);
            listSysWrapper = new List<SysWrapper>();
            searchRecord();
            
       List<Contact> oContact = [select id, Name, email from Contact where AccountId=:accID and Contact_Status__c = 'Active' and email !=null];

        contactList = new List<SelectOption>();
        contactList.add(new SelectOption('','--None--'));
        for(Contact ct: oContact)
        {
            contactList.add(new SelectOption(ct.id,ct.Name+' - '+ct.email));
            contactID = ct.Id;
            system.debug('contactID ::' +contactID );       
            
            
    }
    }
    
    public void searchRecord()
    {
        listSysWrapper .clear();
            for(NEX_System__c a: [select Id, Name from NEX_System__c where Nex_Account__c=:accID AND NEX_System_State__c='Active' limit 10]) 
            {
                listSysWrapper .add(new SysWrapper(a));
            }
            system.debug('listSysWrapper ::' +listSysWrapper); 
    }

    public void processSelected() 
    {
        selectedSystems= new List<NEX_System__c>();
        selectedSystems.clear();
        for(SysWrapper wrapAccountObj : listSysWrapper) 
        {
            if(wrapAccountObj.selected == true) 
            {
                selectedSystems.add(wrapAccountObj.acc);
                 system.debug('selectedSystems::' +selectedSystems); 
            }
        }
    }

  
    


    // This is our wrapper/container class. 
    public class SysWrapper
    {
        public NEX_System__c acc {get; set;}
        public Boolean selected {get; set;}
        public SysWrapper(NEX_System__c  a) 
        {
            acc = a;
            selected = false;
        }
    }
    
     public void contactsrefresh()
    {
        system.debug('selected reseller:' +selectedReseller);
        if (selectedReseller!=null)
        {
            contactList.clear();
            List<Contact> resellercontacts = [select id, Name, email from Contact where (AccountId = :accID or AccountId = :selectedReseller) and Contact_Status__c = 'Active' and email !=null];
            contactList.add(new SelectOption('','--None--'));
            for (Contact rc :resellercontacts)
            {
                if(rc.accountid == accID)
                {
                    contactList.add(new SelectOption(rc.id,rc.Name+' - '+rc.email));
                }
            }
            for (Contact rc :resellercontacts)
            {
                if(rc.accountid != accID)
                {
                    contactList.add(new SelectOption(rc.id,rc.Name+' - '+rc.email));
                }
            }
        }
        }  
           

}
Пожалуйста, помогите добавить метод электронной почты и добавить контакт в качестве адреса и добавить список записей в качестве темы
...