• Todkar Aishwarya
  • NEWBIE
  • 10 Points
  • Member since 2021


  • Chatter
    Feed
  • 0
    Best Answers
  • 0
    Likes Received
  • 0
    Likes Given
  • 0
    Questions
  • 3
    Replies
Hi everyone. I am trying to create an apex trigger with which a specific picklist criteria chosen on the Contact Object updates a checkbox on a custom object.

If Contact Object = Specific Field = "Completed", then
Custom Object = Checkbox = "True"

I'm have trouble getting the code right for the specific picklist option to update the checkbox.

Any thoughts?
VIsual Force Page:-
<apex:page controller="StudentController">
  <apex:form id="test" >
<apex:pageMessages/>
      <apex:pageBlock title="Choose the Object To Create Records:" >   
       <center>
          <apex:selectList value="{!source}" size="1" required="true" >
              <apex:selectOptions value="{!sourceValue}" />
              <apex:actionSupport event="onchange" action="{!objectDisplay}" reRender="test"/>
          </apex:selectList> 
       </center>   
      </apex:pageBlock>
      <apex:pageBlock rendered="{!flag}">   
          <apex:pageBlockSection title="Create Student Details" columns="1" >
           
            <apex:inputField value="{!stu1.Salutation__c}" required="true"/>
            <apex:inputField value="{!stu1.Name}" required="true"/>
            <apex:inputField value="{!stu1.Last_Name__c}" required="true"/>
            <apex:inputField value="{!stu1.Gender__c}"  required="true"/>
            <apex:inputField value="{!stu1.DOB__c}"  required="true"/>
            <apex:inputField value="{!stu1.Class__c}"  required="true"/>
            <apex:inputField value="{!stu1.Division__c}" required="true"/>
              
          </apex:pageBlockSection>         
     </apex:pageBlock>
       <apex:pageBlock rendered="{!flag1}">        
          <apex:pageBlockSection title="Create Teacher Details" columns="2" >
          
            <apex:inputField value="{!tch1.Salutation__c}" required="true" />
            <apex:inputField value="{!tch1.Name}" required="true"/>
            <apex:inputField value="{!tch1.Last_Name__c}"  required="true"/>
            <apex:inputField value="{!tch1.Gender__c}" required="true"/>
            <apex:inputField value="{!tch1.DOB__c}" required="true"/>
            <apex:inputField value="{!tch1.Class__c}"  required="true"/>
            <apex:inputField value="{!tch1.Division__c}" required="true" />

          </apex:pageBlockSection>
         
      </apex:pageBlock>
      <apex:pageBlock rendered="{!flag2}">
        <apex:pageBlockSection>
            <apex:commandButton value="Save" action="{!SaveRecord}" />
            <apex:commandButton value="Clear" action="{!clearFunction}" />
        </apex:pageBlockSection>
      </apex:pageBlock>
  </apex:form>
</apex:page>

Class:--

public with sharing class StudentController {
    public string source {get;set;}
    public List<selectOption> sourceValue {get;set;}
    public boolean flag {get;set;}
    public boolean flag1 {get;set;}
    public boolean flag2 {get;set;}
    public Students__c stu1{get;set;}
    public Teacher__c tch1{get;set;}
    
    
    public StudentController()
    {
        flag = false;
        flag1 = false;
        flag2 = false;
        stu1 = new Students__c();
        tch1 = new Teacher__c();
        sourceValue = new List<selectOption>();
        sourceValue.add(new selectOption('','--select--'));
        sourceValue.add(new selectOption('Students','Students'));
        sourceValue.add(new selectOption('Teacher','Teacher'));
    }
    
    public void objectDisplay()
    { 
         If(source == 'Students'){
            flag = true;
            flag2= true;
            flag1 = false;
        }
        else if(source == 'Teacher'){
            flag1 = true;
            flag2= true;
            flag = false;
        }
    }
    public void saveRecord() {
        if(source=='Students') {
        insert stu1;
ApexPages.AddMessage(new ApexPages.Message(ApexPages.Severity.CONFIRM,' Record Created Successfully.Thank you!'));
        stu1 = new Students__c();
        }
        else {
            insert tch1;
ApexPages.AddMessage(new ApexPages.Message(ApexPages.Severity.CONFIRM,' Record Created Successfully.Thank you!'));
            tch1 = new Teacher__c();
        }
    }
    public void clearFunction(){
        if(source=='Students') {
        stu1 = new Students__c();
        }
        else{
        tch1 = new Teacher__c();
        }
    }
}

When i  use required = true  in input fields it is working, but i change theUser-added image select option from student to teacher or teacher to student. I'm getting this error
 
Hi All,

I want to display number of contacts associated with an account using triggers.

for this I had created a lookup field like noofcontacts__c in account  object. and Wrote code as

trigger numberofcontacts on contact(after insert, after update, after delete) {
    Map<Id, List<Contact>> AcctContactList = new Map<Id, List<Contact>>();
    Set<Id> AcctIds = new Set<Id>();   
    List<schema.Account> AcctList = new List<schema.Account>();
    List<schema.Contact> ConList = new List<schema.Contact>();
   
    if(trigger.isInsert || trigger.isUPdate) {
        for(Contact Con : trigger.New) {
            if(String.isNotBlank(Con.AccountId)){
                AcctIds.add(Con.AccountId); 
            }  
        } 
    }
   
    if(trigger.isDelete) {
        for(Contact Con : trigger.Old) {
            AcctIds.add(Con.AccountId);    
        } 
    }          
   
    if(AcctIds.size() > 0){
        ConList = [SELECT Id, AccountId FROM Contact WHERE AccountId IN : AcctIds];
       
        for(Contact Con : ConList) {
            if(!AcctContactList.containsKey(Con.AccountId)){
                AcctContactList.put(Con.AccountId, new List<Contact>());
            }
            AcctContactList.get(Con.AccountId).add(Con);     
        }                          
      
           
        AcctList = [SELECT noofContacts__c FROM Account WHERE Id IN : AcctIds];
        for(Account Acc : AcctList) {
            List<schema.Contact> ContList = new List<schema.Contact>();
            ContList = AcctContactList.get(Acc.Id);
            Acc.Number_of_Contacts__c = ContList.size();
        }   
       
      
        update AcctList;   
    }

}
 I am   getting an error as "Variable doesnot exist:id".

Kindly support and suggest.

Thanks