Trigger cart item

 trigger CartItemTrigger on Cart_Item__c (before insert, before update) {

    // Step 1: Collect all Product Ids from Cart Items

    Set<Id> productIds = new Set<Id>();

    

    for (Cart_Item__c item : Trigger.new) {

        if (item.Product__c != null) {

            productIds.add(item.Product__c);

        }

    }


    // Step 2: Query related Order Line Items

    Map<Id, Order_Line_Item__c> productToOrderLineItemMap = new Map<Id, Order_Line_Item__c>();

    for (Order_Line_Item__c oli : [

        SELECT Product__c, ListPrice__c 

        FROM Order_Line_Item__c 

        WHERE Product__c IN :productIds

        LIMIT 1

    ]) {

        productToOrderLineItemMap.put(oli.Product__c, oli);

    }


    // Step 3: Set ListPrice__c in Cart Items

    for (Cart_Item__c item : Trigger.new) {

        if (item.Product__c != null && productToOrderLineItemMap.containsKey(item.Product__c)) {

            item.ListPrice__c = productToOrderLineItemMap.get(item.Product__c).ListPrice__c;

        }

    }

}

Comments

Popular posts from this blog

Remove (Clear) and remove Selected element

JSpinner

🛢️ MySQL Connection & CRUD Operations in Java