Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- trigger BrandTrigger on Brand__c (before update) {
- for(Brand__c brand: Trigger.new){
- Brand__c oldBrand = Trigger.oldMap.get(brand.Id);
- if (oldBrand.Name != brand.Name) {
- if(String.isBlank(oldBrand.Old_Name__c)){
- brand.Old_Name__c = oldBrand.Name;
- }else{
- brand.Old_Name__c = split(oldBrand.Name + ', ' + brand.Old_Name__c );
- }
- }
- }
- private String split(String s) {
- Integer index = 0;
- for (Integer i = 0; i < 3; i++)
- index = s.indexOf(', ', index + 1);
- if(index > 2)
- return s.substring(0, index);
- else
- return s;
- }
- }
- brand.Old_Name__c = String.isBlank(oldBrand.Old_Name__c) ? oldBrand.Name : split(oldBrand.Name + ', ' + brand.Old_Name__c );
- return index > 2 ? s.substring(0, index) : s;
- for (Integer i = 0; i < 3; i++){
- index = s.indexOf(', ', index + 1);
- }
- trigger BrandTrigger on Brand__c (before insert, before update, before delete, after insert, after update, after delete, after undelete) {
- new BrandTriggerHandler().runHandler();
- }
- public class with sharing BrandSplitter {
- private Map<String, Brand__c> newBrands;
- private Map<String, Brand__c> oldBrands;
- public BrandSplitter(Map<String, Brand__c> newBrands, Map<String, Brand__c> oldBrands){
- this.newBrands = newBrands;
- this.oldBrands = oldBrands;
- }
- public List<Brand__c> splitBrands(){
- for(Brand__c newBrand: newBrands.values()){
- Brand__c oldBrand = oldBrands.get(brand.Id);
- if (oldBrand.Name != newBrand.Name) {
- newBrand.Old_Name__c = String.isBlank(oldBrand.Old_Name__c)
- ? oldBrand.Name
- : split(oldBrand.Name + ', ' + newBrand.Old_Name__c );
- }
- }
- }
Add Comment
Please, Sign In to add comment