I have a trigger where I have to Insert a new Record in the "CaseTeamMember" object whenever a new "Case" is created. For this I have to query the "CaseTeamRole = CSO" .
In my developer console when I give the query only as below then I get the CSO record.
Select Id,Name from CaseTeamRole
But when I try to fetch the Id of only the "CSO record then it is not fetching. I have tried queries in multiple ways as below :
1) Select Id,Name from CaseTeamRole where Name LIKE 'CS%' (Before this query used to get the CSO record. Now after sandbox refresh this is also failing)
2) Select Id,Name from CaseTeamRole where Name = 'CSO'
3) Select Id,Name from CaseTeamRole where Name LIKE 'C%'
If I give any other record then those are getting fetched .
This is not allowing me to even create a case now due to SOQL not fecthing any record in trigger :(
Please help me in understanding what might be the issue.
Edit Trigger
Trigger CaseTrigger on Case (After Insert)
{
If(Trigger.isAfter)
{
If(Trigger.isInsert)
{
For(Case C : Trigger.New)
{
IF((C.Record_Type_Name__c == 'Delivery Escalation' || C.Record_Type_Name__c.startsWith('CSP')) && (C.CreatedDate == C.LastModifiedDate))
{
CaseTriggerHelper.CreateNewCaseTeamMember(Trigger.New);
}
}
}
}
}
Class:
Public Class CaseTriggerHelper
{
Public Static Void CreateNewCaseTeamMember(List<Case> CaseIds)
{
List<CaseTeamMember> CTMList = New List <CaseTeamMember>();
CaseTeamRole CTR = [Select Id,Name from CaseTeamRole where Name LIKE 'CS%'];
system.debug('---CTR---'+CTR);
Try
{
For(Case C : CaseIds)
{
CaseTeamMember CTM = New CaseTeamMember();
CTM.ParentId = C.Id;
CTM.MemberId = C.CreatedById;
CTM.TeamRoleId = CTR.Id;
CTMList.Add(CTM);
}
Insert CTMList;
}
Catch(Exception e){
}
}
}
UPDATE
Should I pass a list of cases in my trigger handler in this way?
Trigger CaseTrigger on Case (After Insert) {
Set<ID> ids = Trigger.newMap.keySet();
If(Trigger.isAfter && Trigger.isInsert) {
For(Case C : Trigger.New) {
List<Case> C = [SELECT Id FROM Case
WHERE ((Record_Type_Name__c == 'Delivery Escalation' ||
Record_Type_Name__c.startsWith('CSP')) &&
(CreatedDate == LastModifiedDate))];
CaseTriggerHelper.CreateNewCaseTeamMember(C);
}
}
}
Thanks! Ruchi