+ Start a Discussion
erin ryan 8erin ryan 8 

Create a list of contacts - Trailhead

After copying from Trailhead ; I'm recieving an error for line 9. expecting right curly bracket , found "insert". Please advise.

// Create a list of contacts
02List<Contact> conList = new List<Contact> {
03    new Contact(FirstName='Joe',LastName='Smith',Department='Finance'),
04        new Contact(FirstName='Kathy',LastName='Smith',Department='Technology'),
05        new Contact(FirstName='Caroline',LastName='Roth',Department='Finance'),
06        new Contact(FirstName='Kim',LastName='Shain',Department='Education')};
08// Bulk insert all contacts with one DML call
09insert conList;
11// List to hold the new contacts to update
12List<Contact> listToUpdate = new List<Contact>();
14// Iterate through the list and add a title only
15//   if the department is Finance
16for(Contact con : conList) {
17    if (con.Department == 'Finance') {
18        con.Title = 'Financial analyst';
19        // Add updated contact sObject to the list.
20        listToUpdate.add(con);
21    }
24// Bulk update all contacts with one DML call
25update listToUpdate;
Amit Chaudhary 8Amit Chaudhary 8
Please try below code
// Create a list of contacts
List<Contact> conList = new List<Contact> {
		new Contact(FirstName='Joe',LastName='Smith',Department='Finance'),
        new Contact(FirstName='Kathy',LastName='Smith',Department='Technology'),
        new Contact(FirstName='Caroline',LastName='Roth',Department='Finance'),
        new Contact(FirstName='Kim',LastName='Shain',Department='Education')
// Bulk insert all contacts with one DML call
insert conList;
// List to hold the new contacts to update
List<Contact> listToUpdate = new List<Contact>();
// Iterate through the list and add a title only
//   if the department is Finance
for(Contact con : conList) 
    if (con.Department == 'Finance') 
        con.Title = 'Financial analyst';
update listToUpdate;

I tested the same and same is working fine in my developer org
User-added image
Hi erin ryan ,

if you want to create a list of contact you can create one other way also it is like above but minor difference

List<contact> conlist= new List<contact>();
contact con = new contact();

contact con1 = new contact();

Now conlist having two records in  this way also we can add records

Create an Apex Trigger that will count the number of contacts associated with an account(create a field at account level). Must update the count in insertion and deletion of a contact.


trigger CountonAccountofcontact on Contact (after insert,after delete)
    Set<Id> mysetid = new Set <Id>();
            System.debug('Insert new contact for trigger.new '+ Trigger.new);
            for(Contact contac :trigger.new)
            List<Account> Acc = [Select Id,Number_Of_Contact_Count__c from Account where Id in : mysetid];
            List<Contact> Con = [Select Id from Contact where Accountid in : mysetid];
            for(Account A: Acc)
                    A.Number_Of_Contact_Count__c = Con.size(); 
            update Acc;
            System.debug('Number of count is ' + Acc);

            System.debug('The Delete Contact Name For Trigger.old'+ Trigger.Old); 
            for(Contact contac : Trigger.Old)
            List<Account> Acc = [Select id,Number_Of_Contact_Count__c from Account where id in: mysetid];
            List<Contact> Con = [Select id from Contact where Accountid in : mysetid];
            for(Account A :Acc)
                    A.Number_Of_Contact_Count__c = Con.size();
                update Acc;
            System.debug('The Update number is '+ Acc);

NOTE- This code is running but I want for After Update event also and Plz Help me in that