Untitled
unknown
plain_text
2 years ago
1.3 kB
5
Indexable
public override void beforeUpdate(Map<Id, sObject> oldMap, Map<Id, sObject> newMap) { List<ccrz__E_Order__c> ordersToUpdate = new List<ccrz__E_Order__c>(); Set<Id> ordersIds = new Set<Id>(); for(ccrz__E_OrderItem__c orderItem : (List<ccrz__E_OrderItem__c>) newMap.values()) { ordersIds.add(orderItem.ccrz__Order__c); } Map<Id, ccrz__E_Order__c> ordersStorefront = EC_OrderSelector.getOrdersStorefronts(ordersIds); for (String key : oldMap.keySet()) { ccrz__E_OrderItem__c oldOrderItem = (ccrz__E_OrderItem__c) oldMap.get(key); ccrz__E_OrderItem__c newOrderItem = (ccrz__E_OrderItem__c) newMap.get(key); System.debug('xxx - ' + ordersStorefront.get(newOrderItem.ccrz__Order__c).ccrz__Storefront__c); if (oldOrderItem != newOrderItem && shouldNotExecute(ordersStorefront.get(newOrderItem.ccrz__Order__c).ccrz__Storefront__c)) { ordersToUpdate.add(new ccrz__E_Order__c( Id = newOrderItem.ccrz__Order__c, EC_SyncStatus__c = EC_Constants.ORDER_SYNC_STATUS_PENDING )); } } if (!ordersToUpdate.isEmpty()) { update ordersToUpdate; } }
Editor is loading...