• Meenu krishna
  • NEWBIE
  • 0 Points
  • Member since 2020

  • Chatter
    Feed
  • 0
    Best Answers
  • 0
    Likes Received
  • 0
    Likes Given
  • 1
    Questions
  • 0
    Replies
global with sharing class PriceAdjustmentHookImpl implements vlocity_cmt.VlocityOpenInterface
{
    global Boolean invokeMethod(String methodName, Map<String, Object> input, Map<String, Object> output, Map<String, Object> options)  
    {
        try
        {
            System.debug('____ PriceAdjustmentHookImpl' + methodName);
            
            if (methodName.equalsIgnoreCase('calculate.PreInvoke'))
            {
                system.debug('invoked pre');
                List<OrderItem> itemList = (List<OrderItem>)vlocity_cmt.PricingPlanService.getFromPricingContext('LineItemList'); 
                system.debug(LoggingLevel.ERROR, 'itemList' + itemList);
                String  itemList1= '';//(String)itemMap.get('vlocity_cmt__Action__c');
                
                if(itemList[0].vlocity_cmt__Action__c=='Existing')  
                {   
                  System.debug('--- calculate.PreInvoke input: ' + JSON.serialize(input));
                  Map<String, Object> pricingVariableCodeToValueMap = (Map<String, Object>)input.get('pricingVariableMap');
                  Decimal REC_MNTH_STD_PRC = (Decimal)pricingVariableCodeToValueMap.get('REC_MNTH_STD_PRC');
                  system.debug('REC_MNTH_STD_PRC'+REC_MNTH_STD_PRC);
                  pricingVariableCodeToValueMap.put('REC_MNTH_STD_PRC', 0.0); 
               }
            else if (methodName.equalsIgnoreCase('calculate.PostInvoke'))
            {                
              system.debug('invoked post');
 
            }
           }
            return true;
        }
        catch (Exception ex)
        {
            System.debug('--- Exception: ' + ex.getMessage());
            System.debug('--- Stack Trace: ' + ex.getStackTraceString());
            throw ex;
        }
    }
}