Guest User

Untitled

a guest
Jul 5th, 2018
366
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 4.33 KB | None | 0 0
  1. List<Messaging.SingleEmailMessage> listmail = new List<Messaging.SingleEmailMessage>();
  2. EmailTemplate et = [SELECT Id, Subject, HtmlValue FROM EmailTemplate WHERE developerName = 'ET_Case_Reminder_Testing'];
  3. OrgWideEmailAddress owe = [SELECT ID,IsAllowAllProfiles,DisplayName,Address FROM OrgWideEmailAddress WHERE IsAllowAllProfiles = TRUE LIMIT 1];
  4.  
  5. Date MyDate = Date.Today();
  6. String subject = 'Testing Reminder';
  7. String htmlBody ='<h1>***JANGAN DIBALAS/DO NOT REPLY***</h1><br>Dear {!Case.OwnerFullName}, <br>Mohon untuk menindaklanjuti pengajuan interaksi berikut ini sebelum melewati waktu SLA :<br><br><table border="1" style="border-collapse: collapse"><tr><th><b>Ticket Number</b></th><th><b>Subject</b></th><th><b>SLA Handling Time Target</b></th><th><b>Created By</b></th><th><b>Detail</b></th></tr>';
  8.  
  9.  
  10. //List<Case> listcase = [SELECT Id, ContactEmail, Owner_Name__c, Owner.Email, Status, Ticket_Number__c, CaseNumber, Subject, SLA_Case_Closed_Days__c, CreatedBy.Name, OwnerId
  11. //FROM Case WHERE Email_Target__c = 'rieftjong95@gmail.com' and Status != 'Closed' Order by Owner.Name LIMIT 50000];
  12.  
  13. List<User> us = [SELECT Id, Name, ProfileId, Profile.Name, isActive,Email FROM User
  14. WHERE Email = 'rieftjong95@gmail.com' and IsActive = TRUE]; //this is my email for testing purpose
  15.  
  16.  
  17. Integer i = 1;
  18. Id OwnerLast;
  19. List<Case> listcase = new List<Case>();
  20. if(Test.isRunningTest()){
  21. listcase = [SELECT Id, ContactEmail, Owner_Name__c, Owner.Email, Status, Ticket_Number__c, CaseNumber, Subject, SLA_Case_Closed_Days__c, CreatedBy.Name,CreatedDate, OwnerId
  22. FROM Case WHERE Email_Target__c = 'rieftjong95@gmail.com' LIMIT 1];
  23. }else{
  24. listcase = [SELECT Id, ContactEmail, Owner_Name__c, Owner.Email, Status, Ticket_Number__c, CaseNumber, Subject, SLA_Case_Closed_Days__c, CreatedBy.Name,CreatedDate, OwnerId
  25. FROM Case WHERE Email_Target__c = 'rieftjong95@gmail.com' and Status != 'Closed' Order by Owner.Name LIMIT 50000];
  26. }
  27.  
  28. if (listcase.size() > 0){
  29. for (Case cs : listcase){
  30.  
  31. String TicketNumber = String.Valueof(cs.CaseNumber); if(cs.CaseNumber == null){TicketNumber = '[Not Provided]';}
  32. String Sbj = cs.Subject; if(cs.Subject == null){Sbj = '[Not Provided]';}
  33. String HandlingTimeTarget = String.Valueof(cs.SLA_Case_Closed_Days__c); if(cs.SLA_Case_Closed_Days__c == null){TicketNumber = '[Not Provided]';}
  34. String Link = cs.Id; if(cs.Id == null){Link = '[Not Provided]';}
  35. String PIC = cs.CreatedBy.Name; if(cs.CreatedBy.Name == null){PIC = '[Not Provided]';}
  36.  
  37. htmlBody = htmlBody.replace('{!Case.OwnerFullName}', cs.Owner_Name__c);
  38. /*htmlBody = htmlBody.replace('{!Case.Ticket_Number__c}', String.Valueof(cs.CaseNumber));
  39. htmlBody = htmlBody.replace('{!Case.Subject}', cs.Subject);
  40. htmlBody = htmlBody.replace('{!Case.SLA_Handling_Time_Target__c}', String.Valueof(cs.SLA_Case_Closed_Days__c)); */
  41. htmlBody += '<tr><td>' + TicketNumber + '</td><td>' + Sbj + '</td><td>' + HandlingTimeTarget + '</td><td>' + PIC + '</td><td><a href="https://cs72.salesforce.com/' + Link + '">Click Here</a></td></tr>';
  42.  
  43. //i++;
  44.  
  45. }
  46.  
  47. //List<User> us = [SELECT Id, Name, ProfileId, Profile.Name, isActive,Email FROM User
  48. //WHERE Email = 'rieftjong95@gmail.com' and IsActive = TRUE];
  49.  
  50. for (User us2 : us){
  51. OwnerLast = us2.Id;
  52.  
  53.  
  54. htmlBody += '</table><br><br><br><p>Terimakasih,</p><br><p>System Administrator</p>';
  55.  
  56. Messaging.SingleEmailMessage mail = new Messaging.SingleEmailMessage();
  57.  
  58. //Id [] toaddress= New Id[]{};
  59. mail.setOrgWideEmailAddressId(owe.Id);
  60. mail.setSenderDisplayName('Administrator');
  61. mail.setSubject(subject);
  62. mail.setHtmlBody(htmlBody);
  63. mail.setTargetObjectId(OwnerLast);
  64. //mail.setToAddresses(toaddress);
  65. mail.setSaveAsActivity(false);
  66. listmail.add(mail);
  67. Messaging.sendEmail(listmail);
  68.  
  69. }
  70.  
  71. }
  72.  
  73. }
Add Comment
Please, Sign In to add comment