Newer Version Available
RE_Order Class
Namespace
1cgcloudExample Implementation
1cgcloud.RE_Order Order;Supported Methods
getOrder()
Returns the RE_Order.Record instance with the order contents.
- API Version
- 59.0
- Signature
- global RE_Order.Record getOrder()
- Example
-
1global class RetailOrderSaveCustomization implements System.Callable { 2 public Object call(String m, Map<String, Object> params) { 3 cgcloud.RE_Order orderWrapper = (cgcloud.RE_Order) params.get('order'); 4 cgcloud__Order__c order = (cgcloud__Order__c) orderWrapper.getOrder().getRecord(); 5 6 System.debug(order.Customer_Order_Id__c); 7 return null; 8 } 9}
getOrderItems()
Returns the List<RE_Order.Record> instances with order items.
- API Version
- 59.0
- Signature
- global List<RE_Order.Record> getOrderItems()
- Example
-
1public with sharing class RetailOrderSaveCustomization implements System.Callable { 2 public Object call(String m, Map<String, Object> params) { 3 cgcloud.RE_Order orderWrapper = (cgcloud.RE_Order) params.get('order'); 4 cgcloud__Order__c order = (cgcloud__Order__c) orderWrapper.getOrder().getRecord(); 5 List<cgcloud.RE_Order.Record> orderItemRecords = (List<cgcloud.RE_Order.Record>) orderWrapper.getOrderItems(); 6 7 if (orderItemRecords != null) { 8 for (cgcloud.RE_Order.Record orderItemRecord : orderItemRecords) { 9 cgcloud__Order_Item__c orderItem = (cgcloud__Order_Item__c) orderItemRecord.getRecord(); 10 11 System.debug(orderItem.Delivery_Date__c); 12 } 13 } 14 } 15}
List<RE_Order.Record> getOrderItems()
Returns filtered List<RE_Order.Record> instances with order items.
- API Version
- 59.0
- Signature
- global List<RE_Order.Record> getOrderItems(Boolean includeNew, Boolean includeDirty, Boolean includeDeleted)
- Example
-
1global class RetailOrderSaveCustomization implements System.Callable { 2 public Object call(String m, Map<String, Object> params) { 3 cgcloud.RE_Order orderWrapper = (cgcloud.RE_Order) params.get('order'); 4 cgcloud__Order__c order = (cgcloud__Order__c) orderWrapper.getOrder().getRecord(); 5 List<cgcloud.RE_Order.Record> orderItemRecords = (List<cgcloud.RE_Order.Record>) orderWrapper.getOrderItems( 6 true, 7 true, 8 false 9 ); 10 11 if (orderItemRecords != null) { 12 for (cgcloud.RE_Order.Record orderItemRecord : orderItemRecords) { 13 cgcloud__Order_Item__c orderItem = (cgcloud__Order_Item__c) orderItemRecord.getRecord(); 14 15 System.debug(orderItem.Delivery_Date__c); 16 } 17 } 18 return null; 19 } 20}
append(SObject record)
Appends a custom sObject record to the RE_Order instance. When the order object gets saved, this record is inserted, updated, or deleted, depending on the RE_Order.Record instance state.
- API Version
- 59.0
- Signature
- global RE_Order.Record append(SObject record)
- Example
-
1global class RetailOrderSaveCustomization implements System.Callable { 2 public Object call(String m, Map<String, Object> params) { 3 cgcloud.RE_Order orderWrapper = (cgcloud.RE_Order) params.get('order'); 4 cgcloud__Order__c order = (cgcloud__Order__c) orderWrapper.getOrder().getRecord(); 5 6 // Append a new SObject to be saved 7 MyCustomObject__c mySObject = new MyCustomObject__c(); 8 mySObject.Field1__c = 'test1'; 9 mySObject.Duration__c = 23; 10 11 cgcloud.RE_Order.Record myRecordWrapper = orderWrapper.append(mySObject); 12 13 // Add a relationship to the Order__c record 14 orderWrapper.addRelationship( 15 myRecordWrapper, 16 MyCustomObject__c.Order__c, 17 orderWrapper.getOrder() 18 ); 19 return null; 20 } 21}
addRelationship(RE_Order.Record child, SObjectField relationField, RE_Order.Record parent)
Notifies the RE_Order instance about a relationship between two records.
Avoid using direct DML manipulations for records that are part of the transactional state of an order. During the order save process, the records provided by the RE_Order instances use temporary IDs for records that aren’t still in the database. Using the methods provided by the RE_Order object ensures that all relationships and IDs are properly resolved before committing.
- API Version
- 59.0
- Signature
- global void addRelationship(RE_Order.Record child, SObjectField relationField, RE_Order.Record parent)
- Example
-
1global class RetailOrderSaveCustomization implements System.Callable { 2 public Object call(String m, Map<String, Object> params) { 3 cgcloud.RE_Order orderWrapper = (cgcloud.RE_Order) params.get('order'); 4 cgcloud__Order__c order = (cgcloud__Order__c) orderWrapper.getOrder().getRecord(); 5 6 // Append a new SObject to be saved 7 MyCustomObject__c mySObject = new MyCustomObject__c(); 8 mySObject.Field1__c = 'test1'; 9 mySObject.Duration__c = 23; 10 11 cgcloud.RE_Order.Record myRecordWrapper = orderWrapper.append(mySObject); 12 13 // Add a relationship to the Order__c record 14 orderWrapper.addRelationship( 15 myRecordWrapper, 16 MyCustomObject__c.Order__c, 17 orderWrapper.getOrder() 18 ); 19 return null; 20 } 21}
registerWork(DoWork work)
Adds work to be executed after the order is committed to the database. Use this method to perform additional operations after all the order-related records are correctly committed to the database. For information on the RE_Order.DoWork interface methods, see RE_Order.DoWork Interface
- API Version
- 59.0
- Signature
- global void registerWork(DoWork work)
- Example
-
1global class RetailOrderSaveCustomization implements System.Callable { 2 public class MyAfterCommitWork implements cgcloud.RE_Order.DoWork { 3 cgcloud__Order__c m_order = null; 4 5 MyAfterCommitWork(cgcloud__Order__c order) { 6 m_order = order; 7 } 8 9 // This method will be called after the order and related record 10 // changes are committed to the database. 11 // If any error is thrown during the execution of doWork, the transaction 12 // will be rolled back 13 global override void doWork() { 14 system.debug('Im here!'); 15 } 16 } 17 18 public Object call(String m, Map<String, Object> params) { 19 cgcloud.RE_Order orderWrapper = (cgcloud.RE_Order) params.get('order'); 20 cgcloud__Order__c order = (cgcloud__Order__c) orderWrapper.getOrder() 21 .getRecord(); 22 23 orderWrapper.registerWork(new MyAfterCommitWork(order)); 24 return null; 25 } 26}