Attribute setters
Callable version
Callable ah = new AttributeHelper();
ah.call('setItemAttributesValues', new Map<String,Object>{ 'item'=>qli, 'attributeCodeValueMap'=>new Map<String,Object>{'ATTR_INSTALLMENTS_ELIGIBILITY'=>'No Mobile Plan'}} );
Version agnostic (V1 & V2) attribute setter: OrderItem, QuoteLineItem, OpportunityLineItem
Set attribute value and update line item
SObject item = [SELECT vlocity_cmt__JSONAttribute__c, PricebookEntry.Product2.vlocity_cmt__JSONAttribute__c, vlocity_cmt__AttributeSelectedValues__c,vlocity_cmt__AttributeMetadataChanges__c, PricebookEntry.Product2.vlocity_cmt__AttributeMetadata__c FROM OrderItem WHERE Id = '...'];
sfix.AttributeHelper.setItemAttributesValues( item, new Map<String,Object>{'ATTR_BROADBAND'=>'1024 MB/s'} );
update item;
Version agnostic (V1 & V2) attribute setter: Asset
Set attribute value and update asset
SObject item = [SELECT vlocity_cmt__JSONAttribute__c, Product2.vlocity_cmt__JSONAttribute__c, vlocity_cmt__AttributeSelectedValues__c,vlocity_cmt__AttributeMetadataChanges__c, Product2.vlocity_cmt__AttributeMetadata__c FROM Asset WHERE Id = '...'];
sfix.AttributeHelper.setItemAttributesValues( item, new Map<String,Object>{'ATTR_BROADBAND'=>'1024 MB/s'} );
update item;
Version agnostic (V1 & V2) attribute setter: FulfilmentRequestLine
Set attribute value and update fulfillment request line
SObject item = [SELECT vlocity_cmt__JSONAttribute__c, vlocity_cmt__Product2Id__r.vlocity_cmt__JSONAttribute__c, vlocity_cmt__AttributeSelectedValues__c, vlocity_cmt__Product2Id__r.vlocity_cmt__AttributeMetadata__c FROM vlocity_cmt__FulfilmentRequestLine__c WHERE Id = '...'];
sfix.AttributeHelper.setItemAttributesValues( item, new Map<String,Object>{'ATTR_BROADBAND'=>'1024 MB/s'} );
update item;
Version agnostic (V1 & V2) attribute setter: InventoryItem
Set attribute value and update inventory item
SObject item = [SELECT vlocity_cmt__JSONAttribute__c, vlocity_cmt__ProductId__r.vlocity_cmt__JSONAttribute__c, vlocity_cmt__AttributeSelectedValues__c, vlocity_cmt__ProductId__r.vlocity_cmt__AttributeMetadata__c FROM vlocity_cmt__InventoryItem__c WHERE Id = '...'];
sfix.AttributeHelper.setItemAttributesValues( item, new Map<String,Object>{'ATTR_BROADBAND'=>'1024 MB/s'} );
update item;