// Build a map of all users who are assigned the tasks. Map<Id, User> userMap = new Map<Id,User>([select Name, Email from User where Id in :ownerIds]); for(Task tsk : Trigger.New) { if(tsk.IsAnnualEnrollment__c==true){ system.debug('Task id is '+tsk.Id); User theUser = userMap.get(tsk.ownerId); Messaging.SingleEmailMessage mail = new Messaging.SingleEmailMessage(); String[] toAddresses = new String[] {theUser.Email}; mail.setToAddresses(toAddresses); // Set the TO addresses mail.setSubject('A task has been created for you'); // Set the subject
// Next, create a string template. Specify {0}, {1} etc. in place of actual values. // You can replace these values with a call to String.Format. String template = 'Hello {0}, \nYour task has been created. Here are the details - \n\n'; template+= 'Subject - {1}\n'; template+= 'Due Date - {2}\n'; template+= 'Status - {3}\n'; //template+= 'My Test Field - {3}\n'; String duedate = ''; if (tsk.ActivityDate==null) duedate = ''; else duedate = tsk.ActivityDate.format();
// List<String> args = new List<String>(); //args.add(theUser.Name); // args.add(tsk.Subject); // args.add(duedate); //args.add(tsk.status); //args.add('<a href="https://cs3.salesforce.com/'+tsk.Id+'">Click here to open task<a/>'); // args.add(tsk.MyTestField__c);
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
string objPrefix = Schema.SObjectType.Annual_Enrollment_Request__c.getKeyPrefix();
Set<Id> ownerIds = new Set<Id>();
for(Task tsk: Trigger.New)
ownerIds.add(tsk.ownerId);
// Build a map of all users who are assigned the tasks.
Map<Id, User> userMap = new Map<Id,User>([select Name, Email from User where Id in :ownerIds]);
for(Task tsk : Trigger.New)
{
if(tsk.IsAnnualEnrollment__c==true){
system.debug('Task id is '+tsk.Id);
User theUser = userMap.get(tsk.ownerId);
Messaging.SingleEmailMessage mail = new Messaging.SingleEmailMessage();
String[] toAddresses = new String[] {theUser.Email};
mail.setToAddresses(toAddresses); // Set the TO addresses
mail.setSubject('A task has been created for you'); // Set the subject
// Next, create a string template. Specify {0}, {1} etc. in place of actual values.
// You can replace these values with a call to String.Format.
String template = 'Hello {0}, \nYour task has been created. Here are the details - \n\n';
template+= 'Subject - {1}\n';
template+= 'Due Date - {2}\n';
template+= 'Status - {3}\n';
//template+= 'My Test Field - {3}\n';
String duedate = '';
if (tsk.ActivityDate==null)
duedate = '';
else
duedate = tsk.ActivityDate.format();
// List<String> args = new List<String>();
//args.add(theUser.Name);
// args.add(tsk.Subject);
// args.add(duedate);
//args.add(tsk.status);
//args.add('<a href="https://cs3.salesforce.com/'+tsk.Id+'">Click here to open task<a/>');
// args.add(tsk.MyTestField__c);
// Here's the String.format() call.
// String formattedHtml = String.format(template, args);
// mail.setPlainTextBody(formattedHtml);
mail.setHTMLBody('Hello ' +theUser.name+' '+ 'a subject '+tsk.Subject+' '+'with Priority '+tsk.status +' '+ 'and duedate ' + tsk.Activitydate +' '+'is been created.'+'<a href="https://cs3.salesforce.com/'+tsk.Id+'">Please click here to open task<a/>');
if (tsk.whatId != null && ((string)tsk.whatId).startsWith(objPrefix))
Messaging.SendEmail(new Messaging.SingleEmailMessage[] {mail});
} // End of if loop which is verifying for Annual Enrollment object
} // End of for Loop
}