function readOnly(count){ }
Starting November 20, the site will be set to read-only. On December 4, 2023,
forum discussions will move to the Trailblazer Community.
+ Start a Discussion
Gopal ChatGopal Chat 

Salesforce Trigger is not working, anyone help me with this code

Create object : Hire_Form__c
Fields :
1.       First Name
2.       Last name
3.       Email
4.       Phone
5.       Status (In Progress , Completed , Rejected)
6.       Candidate (Contact Lookup)
7.       Description
 
Create Trigger on Hire_form__c
1.       When hire_form__c  record is insert set status = ‘In Progress’. Create new contact record with firstname , lastname , email, phone. Set contact id in Candidate field on  Hire_form object. Create new case record for new created contact record. Set status in case = ‘New’.
2.       When Hire_form is updated with status = ‘Completed’ , then update the status of related case ‘Closed’.
Create Trigger on Case
1.       When case is updated with Status = ‘Closed’ , then check  if parent contact’s related hire form status is not ‘Completed’ , then show error message ‘You can not close the case until hire form  is completed’.
 
 
ArleneArlene
If you could post your existing trigger, it would be easier to tell why it isn't working.
Gopal ChatGopal Chat
trigger CreateContactcase on Hire_Form__c (before insert,before update){
    list<Contact> conlist=new list<Contact>();
    list<case> caselist=new list<case>();
    if(trigger.isinsert){
        for(Hire_Form__c hire:trigger.new){
            if(hire.Status__c=='In Progress'){
                Contact con=new Contact();
                con.FirstName='Hire';
                con.LastName='Trigger';
                con.Email='hire@gmail.com';
                con.Phone='123456';
                conlist.add(con);
                //hire.Candidate__c=con.Id;
            }
        }
        insert conlist;
        system.debug('=====>'+conlist);
        for(Contact con1:conlist){
            case cc=new case();
            cc.ContactId=con1.Id;
            cc.Status='New';
            cc.Origin='Phone';
            //cc.Id=conlist[0].Id;
            caselist.add(cc);
        }
        insert caselist;
        system.debug('=====>'+caselist);
    }
    if(Trigger.isupdate){
        for(Hire_Form__c hire:trigger.new){
            for(case c:caselist){
                if(hire.Status__c=='completed' && hire.Status__c !=trigger.oldmap.get(hire.Id).Status__c){
                    c.Status='closed';
                }
            }
            update caselist;
            system.debug('====>'+caselist);
        }
    }
}

this is my code
plz inform me at amuraghav14@gmail.com
Venkateswarlu PVenkateswarlu P
try this. Case and Contacts are getting created.
public static void ContactCase(List<Hire_Form__c> hireList){
        List<Contact> conList = new List<Contact>();
        List<Case> caseList = new List<Case>();        
        For(Hire_Form__c h:hireList){
            h.status__c='In Progress';            
            Contact c=new Contact();
            c.FirstName=h.Name;
            c.LastName=h.Last_name__c;
            c.Email=h.Email__c;
            c.Phone=h.Phone__c;
            conList.add(c);
            //h.Candidate__c=c.Id;
            system.debug('=====>conList'+conList);           
        }        
        insert conList;
        For(Contact c:conList){
            Case cases =new Case();
			cases.Subject=c.Name;            
            cases.Status='New';
            cases.Origin='Web';
            cases.ContactId=c.Id;            
            caseList.add(cases); 
            system.debug('=====>caseList'+caseList);
        }
        insert caseList;
    }

Trigger Handler
--------------------
trigger Contact_Case on Hire_Form__c (Before insert) {
    If(Trigger.isBefore && Trigger.isInsert){
        Contact_Case.ContactCase(Trigger.new);
    }   
}

 
Gopal ChatGopal Chat
Sir basically I need this portion which is not in your trigger
When Hire_form is updated with status = ‘Completed’ , then update the status of related case ‘Closed’.
Create Trigger on Case