Guest User

Untitled

a guest
Jun 21st, 2018
198
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 4.79 KB | None | 0 0
  1. trigger Send_To_PropSub on Sales_Handoff_Activity__c (before update) {
  2.  
  3. for(Sales_Handoff_Activity__c SHA : trigger.new){
  4. if (SHA.Tech_Doc_Status__c == 'Complete') {
  5. Messaging.SingleEmailMessage email = new Messaging.SingleEmailMessage();
  6.  
  7. List<Messaging.EmailFileAttachment> attachmentList = new List<Messaging.EmailFileAttachment>();
  8.  
  9. //SHA = [SELECT id, Name, Primary_Email__c, Account_Name__c FROM Sales_Handoff_Activity__c WHERE Id = :SHA.Id];
  10.  
  11. // create email content
  12. String Name = SHA.Name;
  13. String AccountName = SHA.Account_Name__c;
  14.  
  15. String subject = 'Tech Docs Complete for '+Name;
  16. email.setSubject(subject);
  17.  
  18.  
  19. String line1 = 'Please review the attached completed tech docs for:'+AccountName+'+';
  20. String line2 = 'You can also view these on the Sales Handoff Activity ::'+Name+'+';
  21. String line3 = 'thank you! Sales Ops';
  22. String body = line1 + line2 ;
  23. email.setPlainTextBody(body);
  24.  
  25.  
  26. email.setToAddresses(new String[]{'Kevin.chiles@megapath.com'});
  27. {
  28.  
  29. SHA.Tech_Doc_Status__c = 'Complete';
  30.  
  31. // fetch attachments for Sales_Handoff_Activity__c
  32. Attachment att = [SELECT id, Name, body, ContentType FROM Attachment WHERE ParentId = : SHA.id];
  33.  
  34. // List of attachments handler
  35. Messaging.EmailFileAttachment efa = new Messaging.EmailFileAttachment();
  36.  
  37. {
  38.  
  39.  
  40. // Create the email attachment
  41. efa.setFileName(att.Name);
  42. efa.setBody(att.body);
  43. efa.setContentType(att.ContentType);
  44. efa.setInline(false);
  45.  
  46. attachmentList.add(efa);
  47. }
  48.  
  49. // Attach files to email instance
  50. email.setFileAttachments(attachmentList);
  51.  
  52. Messaging.sendEmail(new Messaging.singleEmailMessage[] {email});
  53. }
  54. }
  55. }
  56. }
  57.  
  58. @isTest
  59. private class EngineerNotesCreateTest
  60. {
  61. static testMethod void EngineerNotesCreate()
  62. {
  63.  
  64. Account acc=New Account(Name='test');
  65. insert acc;
  66.  
  67. Contact ct=New Contact(FirstName='sarah',LastName='jenny',email='test@test.com',AccountId=acc.id);
  68. insert ct;
  69.  
  70. Opportunity opp= New Opportunity (Name='Test',Closedate=date.today(),NextStep='test',StageName='1 – Solution Design',Sales_Engineer__c='Joel Thomas',
  71. LeadSource='Call - Service Transfer',Type='Change Voice Services',Channel__c='SMB',
  72. Install_Street__c='Test',
  73. Install_Zip__c='94582',
  74. Install_State__c='CA',
  75. Install_City__c='Test',
  76. Install_Phone__c='3157775695',
  77. Install_Country__c='USA');
  78. Insert opp;
  79.  
  80.  
  81. Sales_Handoff_Activity__c Sha= new Sales_Handoff_Activity__c(
  82. Number_of_Seats_Trunks__c='5',
  83. Primary_Contact_Time_Zone__c='West',
  84. Opportunity_Name_2__c=opp.id,
  85. Customer_Contact_Name__c='Kevin Chiles',
  86. Customer_Contact_Email__c='kchiles2@gmail.com',
  87. Customer_Contact_Phone__c='0000000000',
  88. Quote_ID__c='255555.2',
  89. Expedite_Hand_Off_Date__c= date.today(),
  90.  
  91. VPM_Notes__c='test notes',
  92. Assigned_VPM__c='Alex Stewart'
  93.  
  94. );
  95. insert Sha;
  96. Attachment attach=new Attachment();
  97. attach.Name='Unit Test Attachment';
  98. Blob bodyBlob=Blob.valueOf('Unit Test Attachment Body');
  99. attach.body=bodyBlob;
  100. attach.parentId=sha.id;
  101. insert attach;
  102.  
  103. sha.tech_doc_status__c='Complete';
  104.  
  105. update Sha;
  106. }
  107. }
  108.  
  109. //Retrieve Email template
  110. EmailTemplate et=[Select id from EmailTemplate where name=:'Tech Doc Complete Full'];
  111.  
  112.  
  113. //Create email list
  114. List<Messaging.SingleEmailMessage> emails = new List<Messaging.SingleEmailMessage>();
  115.  
  116. //Create attachment list
  117. List<Messaging.EmailFileAttachment> attachmentList = new List<Messaging.EmailFileAttachment>();
  118.  
  119. //Create message
  120.  
  121. Messaging.SingleEmailMessage singlemail = new Messaging.SingleEmailMessage();
  122. //add template
  123. singleMail.setTemplateId(et.Id);
  124. //set target object for merge fields
  125. singleMail.setTargetObjectId(SHA.OwnerId);
  126.  
  127. //set to save as activity or not
  128. singleMail.setSaveAsActivity(false);
  129.  
  130.  
  131. //add address's that you are sending the email to
  132. String []ToAddress= new string[] {'SSS1@Megapath.com','highcap@megapath.com' ,'Salesops@megapath.com'};
  133.  
  134. //set addresses
  135. singlemail.setToAddresses(toAddress);
  136.  
  137.  
  138. //add mail
  139. emails.add(singleMail);
  140.  
  141. {
  142.  
  143.  
  144.  
  145. // fetch attachments for Object
  146. Attachment att = [SELECT id, Name, body, ContentType FROM Attachment WHERE ParentId = : SHA.id];
  147.  
  148. // Create the email attachment
  149. efa.setFileName(att.Name);
  150. efa.setBody(att.body);
  151. efa.setContentType(att.ContentType);
  152. efa.setInline(false);
  153.  
  154. attachmentList.add(efa);
  155.  
  156. // Attach files to email instance
  157. singlemail.setFileAttachments(attachmentList);
  158. //send the message
  159. Messaging.sendEmail(emails);
  160. }
Add Comment
Please, Sign In to add comment