• Amit Gaur 8
  • NEWBIE
  • 0 Points
  • Member since 2016

  • Chatter
    Feed
  • 0
    Best Answers
  • 0
    Likes Received
  • 0
    Likes Given
  • 3
    Questions
  • 2
    Replies
public class RelatedContactList
{
      private string accountID = '';
      public list<cContact> contactList{get;set;}
      public Boolean selectAll {get; set;}
      
      public RelatedContactList(ApexPages.StandardController stdController)
      {
            selectAll= false;
      }
        
      public void showContactList()
      {
            accountID = System.CurrentPageReference().getParameters().get('id');
            contactList = new List<cContact>();
            
            for(Contact c: [select Id,account.Id,Name, lastname,Email, Phone from Contact where account.id=:accountID])
            {
                 contactList.add(new cContact(c,false));
            }
           
      }
    
      public void erase()
      {
            List<Contact> selectedContacts = new List<Contact>();
            List<Contact> selectAllContacts = new List<Contact>();
            
            for(cContact cCon: contactList)
            {
                  if(cCon.selected == true)
                  {
                      
                        selectedContacts.add(cCon.con);
                  }
            }
            delete SelectedContacts;
            
            for(cContact cCon: contactList)
            {
                  if(SelectAll==true)
                  {
                        selectAllContacts.add(cCon.con);
                  }
             
             }
             
             delete SelectAllContacts;
            
             showcontactList();
            
      }
      
      public void Edit(){}
          
      public void Save()
      {
             List<Contact> selectedContacts = new List<Contact>();
             for(cContact cCon: contactList)
             {
                  if(cCon.selected == true)
                  {
                      
                        selectedContacts.add(cCon.con);
                  }
                 
             }
           
             upsert SelectedContacts;
             
             showcontactList();
      }
      public void AddNewContact()
      {
             contact c = new contact();
             c.accountid = System.CurrentPageReference().getParameters().get('id');
             contactList.add(new cContact(c,true));
         
      }
      
      public List<Contact> selectedContacts {get;set;}
      
      public PageReference exportToExcel()
      {
            selectedContacts = new List<Contact>();
            for(cContact cCon: contactList)
            {
                 if(cCon.selected == true)
                 {    
                      
                      selectedContacts.add(cCon.con);
                       
                 }
                
            }
            PageReference pageReference = new PageReference('/apex/excelExportPage');
            pageReference.setRedirect(false);
            return pageReference;
            
      }
      public PageReference exportToPDF()
      {
            selectedContacts = new List<Contact>();
            for(cContact cCon: contactList)
            {
                 if(cCon.selected == true)
                 {    
                      
                      selectedContacts.add(cCon.con);
                       
                 }
                
            }
            PageReference pageReference = new PageReference('/apex/pdfExportPage');
            pageReference.setRedirect(false);
            return pageReference;
            
      }
    
      public class cContact
      {
            
            public Contact con {get; set;}
            public Boolean selected {get; set;}
            
    
            public cContact(Contact c, boolean val)
            {
                  con = c;
                  selected = val;
            }
            
      }
    
}
I wrote the following code in which I will get mail with all Event in Tabular form, but after Execution I am not getting any Mail.

Kindly Help

My Apex Batch Class

global class EventBatchClass implements Database.Batchable<sObject>
{
    global Database.QueryLocator start (Database.BatchableContext bc)
    {
        String query='SELECT Owner.Name, Owner.Email, Subject, StartDateTime, EndDateTime, What.Name FROM Event';
        return Database.getQueryLocator(query);  
    }
    global void execute(database.BatchableContext bc, list<event> Scope)
    {   
        
        List<Messaging.SingleEmailMessage> mails = new List<Messaging.SingleEmailMessage>();
        messaging.SingleEmailMessage Email=new messaging.SingleEmailMessage();
        list<string> EmailId=new list<string>();
        String str = '' ;
        String finalStr= '' ;
        
        Map<Id,List<Event> > EventMap = new Map<Id,List<Event> > ();
        List<Event> EventList=new List<Event>();
        List<Event> EventList1=new List<Event>();
        
        for(Event e:EventList)
        {
            if(!EventMap.containsKey(e.OwnerId))
            {   
                EventMap.put(e.OwnerId, new List<Event>());
            }
            EventMap.get(e.OwnerId).add(e);
        }
        for(Id i:EventMap.KeySet())
        {
            EventList1=EventMap.get(i);
            EmailId.add(EventList1[0].owner.email);
            
            
        
         
            for(event e:EventList1)
            {  
                         
               str += '<tr><td>'+ e.Subject +'</td>'+'<td>'+ e.StartDateTime +'</td>'+'<td>'+ e.EndDateTime +'</td>'+'<td>'+'<a href="https://ap2.salesforce.com/'+ e.ID +'">Click Here</a>'+'</td></tr>' ;  
                 
               str = str.replace('null' , '') ;  
               finalStr = '' ; 
               finalStr = '<table border="1"> <td> Subject </td> <td> Start Date </td> <td>End Date </td> <td>Event Record </td> '+ str +'</table>' ;  
               
    
           }
           
           email.setSubject('Event Alert');
           email.setToAddresses(EmailId);
           email.setHTMLBody('Hi , Details of today\'s events are listed below:' +finalStr);
                
           mails.add(email);
           Messaging.sendEmail(mails);
         }  
         
    }
    global void finish(Database.BatchableContext BC)
    {
    }
}
I want to edit and Save Opportunity Line Items record in the same VF page but I don't know what to write in Edit Method. Please Help!!

Controller Class-

public class SearchOpportunity
{
    public list<opportunity> oppList{get;set;}
    public opportunity opp{get;set;}
    String query='';
    public String oliID{get;set;}
    
        
     public searchOpportunity()
     {
         oppList=new list<opportunity>();
         opp = new opportunity();
     }
     
     public void Search()
     {
         query='select id,name,stagename,Type,(Select id,ProductCode,ListPrice,UnitPrice,Quantity from OpportunityLineItems) from opportunity where';
         if(opp.StageName!=Null)
         {
             query=query+' stageName =  \''+ opp.stagename+'\' AND';
         }
         if(opp.Type!=Null)
         {
             query=query+' type = \''+ opp.TYPE+'\' AND';
         }
         if(opp.AccountId!=Null)
         {
             query=query+' AccountId = \''+ opp.AccountId+'\' AND';
         }
         query=query.removeEnd('where');
         query=query.removeEnd('AND');
         
         System.Debug(query);
         
         
         
         opplist = Database.query(query);
         
     }  
     public void Edit()
     {
         OpportunityLineItem ol =[Select unitprice, quantity from OpportunityLineItem where Id=: oliID];
         
         
     }
      public void Erase()
     {
         
        OpportunityLineItem ol =[Select Id from OpportunityLineItem where Id=: oliID];
        delete ol;
        search();
         
     }
      public void Save()
     {
         OpportunityLineItem ol =[Select Id from OpportunityLineItem where Id=: oliID];
         update ol;
     }
      


}


VF Page-

<apex:page controller="SearchOpportunity">
    <apex:form id="frmid">
        <apex:pageBlock >
            <apex:pageBlockSection title="Search Opportunity">
              
                <apex:inputField value="{!opp.StageName}"/>
                <apex:inputField value="{!opp.type}"/>
                <apex:inputField value="{!opp.accountid}"/>
                <apex:commandButton value="Search" action="{!Search}" reRender="frmid"/>
                    
                    
            </apex:pageBlockSection>
            </apex:pageBLock>
            <apex:pageBlock id="oppTable">
            <apex:pageblockSection title="Opportunity Detail">
            
        
        <apex:outputPanel id="panel1">
                    <apex:repeat value="{!opplist}" var="o" >
                      <table>
                      <tr> 
                      <td><b>{!o.name}</b></td> 
                      <td>{!o.stagename}</td>
                      <td>{!o.type}</td>
                      </tr>
                      </table>
                       
                       <apex:pageblocktable value="{!o.opportunitylineitems}" var="oli">                       
                       
                       <apex:column >
                            <apex:commandButton value="Edit" Action="{!Edit}">
                                <apex:param name="id" value="{!oli.Id}" assignTo="{!oliID}"/>
                            </apex:commandButton>
                
           
            
            
            
            
            <apex:commandButton action="{!Erase}" value="Delete" reRender="panel1">
            <apex:param name="id" value="{!oli.id}" assignTo="{!oliID}" />
            </apex:commandButton>
                
            
                </apex:column>
                            <apex:column value="{!oli.id}"/>
                           <apex:column value="{!oli.productcode}"/>
                           <apex:column value="{!oli.listprice}"/>
                           <apex:column value="{!oli.unitprice}"/>
                           <apex:column value="{!oli.quantity}"/>
                           <apex:column >
                           <apex:commandButton action="{!Save}" value="Save" reRender="panel1">
                            <apex:param name="id" value="{!oli.id}" assignTo="{!oliID}" />
                            </apex:commandButton>
                           </apex:column>
                           
                               
                       </apex:pageblocktable>
                       
                           
                       
                    </apex:repeat>
                    </apex:outputPanel>
                    </apex:pageblockSection>
                    </apex:pageblock>
    </apex:form>
  
</apex:page>
public class RelatedContactList
{
      private string accountID = '';
      public list<cContact> contactList{get;set;}
      public Boolean selectAll {get; set;}
      
      public RelatedContactList(ApexPages.StandardController stdController)
      {
            selectAll= false;
      }
        
      public void showContactList()
      {
            accountID = System.CurrentPageReference().getParameters().get('id');
            contactList = new List<cContact>();
            
            for(Contact c: [select Id,account.Id,Name, lastname,Email, Phone from Contact where account.id=:accountID])
            {
                 contactList.add(new cContact(c,false));
            }
           
      }
    
      public void erase()
      {
            List<Contact> selectedContacts = new List<Contact>();
            List<Contact> selectAllContacts = new List<Contact>();
            
            for(cContact cCon: contactList)
            {
                  if(cCon.selected == true)
                  {
                      
                        selectedContacts.add(cCon.con);
                  }
            }
            delete SelectedContacts;
            
            for(cContact cCon: contactList)
            {
                  if(SelectAll==true)
                  {
                        selectAllContacts.add(cCon.con);
                  }
             
             }
             
             delete SelectAllContacts;
            
             showcontactList();
            
      }
      
      public void Edit(){}
          
      public void Save()
      {
             List<Contact> selectedContacts = new List<Contact>();
             for(cContact cCon: contactList)
             {
                  if(cCon.selected == true)
                  {
                      
                        selectedContacts.add(cCon.con);
                  }
                 
             }
           
             upsert SelectedContacts;
             
             showcontactList();
      }
      public void AddNewContact()
      {
             contact c = new contact();
             c.accountid = System.CurrentPageReference().getParameters().get('id');
             contactList.add(new cContact(c,true));
         
      }
      
      public List<Contact> selectedContacts {get;set;}
      
      public PageReference exportToExcel()
      {
            selectedContacts = new List<Contact>();
            for(cContact cCon: contactList)
            {
                 if(cCon.selected == true)
                 {    
                      
                      selectedContacts.add(cCon.con);
                       
                 }
                
            }
            PageReference pageReference = new PageReference('/apex/excelExportPage');
            pageReference.setRedirect(false);
            return pageReference;
            
      }
      public PageReference exportToPDF()
      {
            selectedContacts = new List<Contact>();
            for(cContact cCon: contactList)
            {
                 if(cCon.selected == true)
                 {    
                      
                      selectedContacts.add(cCon.con);
                       
                 }
                
            }
            PageReference pageReference = new PageReference('/apex/pdfExportPage');
            pageReference.setRedirect(false);
            return pageReference;
            
      }
    
      public class cContact
      {
            
            public Contact con {get; set;}
            public Boolean selected {get; set;}
            
    
            public cContact(Contact c, boolean val)
            {
                  con = c;
                  selected = val;
            }
            
      }
    
}
I want to edit and Save Opportunity Line Items record in the same VF page but I don't know what to write in Edit Method. Please Help!!

Controller Class-

public class SearchOpportunity
{
    public list<opportunity> oppList{get;set;}
    public opportunity opp{get;set;}
    String query='';
    public String oliID{get;set;}
    
        
     public searchOpportunity()
     {
         oppList=new list<opportunity>();
         opp = new opportunity();
     }
     
     public void Search()
     {
         query='select id,name,stagename,Type,(Select id,ProductCode,ListPrice,UnitPrice,Quantity from OpportunityLineItems) from opportunity where';
         if(opp.StageName!=Null)
         {
             query=query+' stageName =  \''+ opp.stagename+'\' AND';
         }
         if(opp.Type!=Null)
         {
             query=query+' type = \''+ opp.TYPE+'\' AND';
         }
         if(opp.AccountId!=Null)
         {
             query=query+' AccountId = \''+ opp.AccountId+'\' AND';
         }
         query=query.removeEnd('where');
         query=query.removeEnd('AND');
         
         System.Debug(query);
         
         
         
         opplist = Database.query(query);
         
     }  
     public void Edit()
     {
         OpportunityLineItem ol =[Select unitprice, quantity from OpportunityLineItem where Id=: oliID];
         
         
     }
      public void Erase()
     {
         
        OpportunityLineItem ol =[Select Id from OpportunityLineItem where Id=: oliID];
        delete ol;
        search();
         
     }
      public void Save()
     {
         OpportunityLineItem ol =[Select Id from OpportunityLineItem where Id=: oliID];
         update ol;
     }
      


}


VF Page-

<apex:page controller="SearchOpportunity">
    <apex:form id="frmid">
        <apex:pageBlock >
            <apex:pageBlockSection title="Search Opportunity">
              
                <apex:inputField value="{!opp.StageName}"/>
                <apex:inputField value="{!opp.type}"/>
                <apex:inputField value="{!opp.accountid}"/>
                <apex:commandButton value="Search" action="{!Search}" reRender="frmid"/>
                    
                    
            </apex:pageBlockSection>
            </apex:pageBLock>
            <apex:pageBlock id="oppTable">
            <apex:pageblockSection title="Opportunity Detail">
            
        
        <apex:outputPanel id="panel1">
                    <apex:repeat value="{!opplist}" var="o" >
                      <table>
                      <tr> 
                      <td><b>{!o.name}</b></td> 
                      <td>{!o.stagename}</td>
                      <td>{!o.type}</td>
                      </tr>
                      </table>
                       
                       <apex:pageblocktable value="{!o.opportunitylineitems}" var="oli">                       
                       
                       <apex:column >
                            <apex:commandButton value="Edit" Action="{!Edit}">
                                <apex:param name="id" value="{!oli.Id}" assignTo="{!oliID}"/>
                            </apex:commandButton>
                
           
            
            
            
            
            <apex:commandButton action="{!Erase}" value="Delete" reRender="panel1">
            <apex:param name="id" value="{!oli.id}" assignTo="{!oliID}" />
            </apex:commandButton>
                
            
                </apex:column>
                            <apex:column value="{!oli.id}"/>
                           <apex:column value="{!oli.productcode}"/>
                           <apex:column value="{!oli.listprice}"/>
                           <apex:column value="{!oli.unitprice}"/>
                           <apex:column value="{!oli.quantity}"/>
                           <apex:column >
                           <apex:commandButton action="{!Save}" value="Save" reRender="panel1">
                            <apex:param name="id" value="{!oli.id}" assignTo="{!oliID}" />
                            </apex:commandButton>
                           </apex:column>
                           
                               
                       </apex:pageblocktable>
                       
                           
                       
                    </apex:repeat>
                    </apex:outputPanel>
                    </apex:pageblockSection>
                    </apex:pageblock>
    </apex:form>
  
</apex:page>