You need to sign in to do that
Don't have an account?
Advanced Apex Specialist Challenge 2
Hi,
I am trying to update orderTrigger on challenge 2, and I am getting below error:
Please find my trigger and helper class below. Any help would be highly appreciated.
orderTrigger:
/** * @name orderTrigger * @description **/ trigger orderTrigger on Order (after update) { public Set<Id> orderIds = new Set<Id>(); if(Trigger.new != null){ orderIds = OrderHelper.AfterUpdate(Trigger.new, Trigger.old); } OrderHelper.RollUpOrderItems(orderIds); }
OrderHelper:
public with sharing class OrderHelper { /** * @name AfterUpdate * @description * @param List<Order> newList * @param List<Order> oldList * @return void **/ public static Set<Id> AfterUpdate(List<Order> newList, List<Order> oldList){ Set<Id> orderIds = new Set<Id>(); for ( Integer i=0; i<newList.size(); i++ ){ if ( newList[i].Status == 'Activate' && oldList[i].Status == 'Draft' ){ orderIds.add(newList[i].Id); } } return orderIds; } /** * @name RollUpOrderItems * @description Given a set of Activated Order ids, query the child Order Items and related Products to calculate Inventory levels * @param Set<Id> activatedOrderIds * @return void **/ public static void RollUpOrderItems(Set<Id> activatedOrderIds){ Map<Id, Product2> productMap; Set<Id> product2Ids = new Set<Id>(); List<OrderItem> orderItems = [SELECT Id, Quantity, Product2Id FROM OrderItem WHERE OrderId IN:activatedOrderIds]; for(OrderItem item :orderItems){ product2Ids.add(item.Product2Id); } productMap = new Map<Id, Product2>([SELECT Id, Quantity_Ordered__c FROM Product2 WHERE Id IN :product2Ids]); for(OrderItem item :orderItems) { if(productMap.containsKey(item.Product2Id)) { productMap.get(item.product2Id).Quantity_Ordered__c -= item.Quantity; } } update productMap.values(); } }
All Answers
I am facing issue with this
This is my code for "OrderHelper"
Could you help me out? what was the wrong with it? Thanks
https://developer.salesforce.com/forums?error=sorry_post_not_found&url=sforce%2Fboard%3Fboard.id%3Dcustom_formula#!/feedtype=SINGLE_QUESTION_DETAIL&dc=Developer_Forums&criteria=ALLQUESTIONS&id=9060G0000005OViQAM