Guest User

Untitled

a guest
Jan 22nd, 2018
55
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 1.82 KB | None | 0 0
  1. trigger BrandTrigger on Brand__c (before update) {
  2. for(Brand__c brand: Trigger.new){
  3. Brand__c oldBrand = Trigger.oldMap.get(brand.Id);
  4. if (oldBrand.Name != brand.Name) {
  5.  
  6. if(String.isBlank(oldBrand.Old_Name__c)){
  7. brand.Old_Name__c = oldBrand.Name;
  8. }else{
  9. brand.Old_Name__c = split(oldBrand.Name + ', ' + brand.Old_Name__c );
  10. }
  11. }
  12. }
  13.  
  14. private String split(String s) {
  15. Integer index = 0;
  16. for (Integer i = 0; i < 3; i++)
  17. index = s.indexOf(', ', index + 1);
  18.  
  19. if(index > 2)
  20. return s.substring(0, index);
  21. else
  22. return s;
  23. }
  24. }
  25.  
  26. brand.Old_Name__c = String.isBlank(oldBrand.Old_Name__c) ? oldBrand.Name : split(oldBrand.Name + ', ' + brand.Old_Name__c );
  27.  
  28. return index > 2 ? s.substring(0, index) : s;
  29.  
  30. for (Integer i = 0; i < 3; i++){
  31. index = s.indexOf(', ', index + 1);
  32. }
  33.  
  34. trigger BrandTrigger on Brand__c (before insert, before update, before delete, after insert, after update, after delete, after undelete) {
  35. new BrandTriggerHandler().runHandler();
  36. }
  37.  
  38. public class with sharing BrandSplitter {
  39. private Map<String, Brand__c> newBrands;
  40. private Map<String, Brand__c> oldBrands;
  41.  
  42. public BrandSplitter(Map<String, Brand__c> newBrands, Map<String, Brand__c> oldBrands){
  43. this.newBrands = newBrands;
  44. this.oldBrands = oldBrands;
  45. }
  46.  
  47. public List<Brand__c> splitBrands(){
  48. for(Brand__c newBrand: newBrands.values()){
  49. Brand__c oldBrand = oldBrands.get(brand.Id);
  50. if (oldBrand.Name != newBrand.Name) {
  51. newBrand.Old_Name__c = String.isBlank(oldBrand.Old_Name__c)
  52. ? oldBrand.Name
  53. : split(oldBrand.Name + ', ' + newBrand.Old_Name__c );
  54. }
  55. }
  56. }
Add Comment
Please, Sign In to add comment