final
List<csc.CreateObjectiveFromTemplateRequest> requests =
new
List<csc.CreateObjectiveFromTemplateRequest>();
final
Id templateId1 =
'a1GDR000002AzEL2A0'
;
final
Map<SObjectField, Object> fieldsToPopulate1 =
new
Map<SObjectField, Object>{
csc__Objective__c.Name =>
'1st API-generated objective'
,
csc__Objective__c.csc__Start_Date__c => Date.newInstance(
2023
,
5
,
8
),
csc__Objective__c.csc__End_Date__c => Date.newInstance(
2023
,
8
,
10
)
};
final
csc.CreateObjectiveFromTemplateRequest request1 =
new
csc.CreateObjectiveFromTemplateRequest(
templateId1,
fieldsToPopulate1
);
requests.add(request1);
final
Id templateId2 =
'a1GDR000002AzEQ2A0'
;
final
Map<SObjectField, Object> fieldsToPopulate2 =
new
Map<SObjectField, Object>{
csc__Objective__c.Name =>
'2nd API-generated objective'
,
csc__Objective__c.csc__Start_Date__c => Date.newInstance(
2023
,
6
,
9
)
};
final
Map<SObjectType, Set<Id>> relatedRecordsIdMap =
new
Map<SObjectType, Set<Id>>{
csc__Playbook__c.sObjectType =>
new
Set<Id>{
'a1KDR000003VWx52AG'
,
'a1KDR000003VWx52BG'
,
'a1KDR000003VWx52CG'
},
csc__Playbook_Task__c.sObjectType =>
new
Set<Id>()
};
final
csc.CreateObjectiveFromTemplateRequest request2 =
new
csc.CreateObjectiveFromTemplateRequest(
templateId2,
fieldsToPopulate2,
relatedRecordsIdMap
);
requests.add(request2);
final
List<csc.CreateObjectiveFromTemplateResponse> responses = csc.CreateObjectiveFromTemplateService.createObjectivesFromTemplates(
requests
);