Created
November 13, 2017 15:40
-
-
Save SalesforceCPQ/563b1be8e8eb5bb01507d6bf21f31653 to your computer and use it in GitHub Desktop.
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
| global class PluginDemoProductSearchPlugin implements SBQQ.ProductSearchPlugin{ | |
| public String type1 {get; set;} | |
| global PluginDemoProductSearchPlugin(){ | |
| System.debug('METHOD CALLED: customSearchFilter Constructor'); | |
| } | |
| global String getAdditionalSearchFilters(SObject so, Map<String,Object> ma){ | |
| System.debug('METHOD CALLED: getAdditionalSearchFilters'); | |
| //System.debug('Sobject Passed: ' + so.getSObjectType().getDescribe().getName()); | |
| System.debug('Map Passed:'); | |
| System.debug(ma); | |
| return null; | |
| } | |
| global String getAdditionalSuggestFilters(SObject so, Map<String,Object> ma){ | |
| System.debug('METHOD CALLED: getAdditionalSuggestFilters'); | |
| //System.debug('Sobject Passed: ' + so.getSObjectType().getDescribe().getName()); | |
| System.debug('Map Passed:'); | |
| System.debug(ma); | |
| return null; | |
| } | |
| global String getFilterDefaultValue(SObject so, String st){ | |
| System.debug('METHOD CALLED: getFilterDefaultValue'); | |
| //System.debug('Sobject Passed: ' + so.getSObjectType().getDescribe().getName()); | |
| System.debug('String Passed: ' + st); | |
| return st== 'Name' ? 'Hello' : null; | |
| } | |
| global String getInputDefaultValue(SObject so, String st){ | |
| System.debug('METHOD CALLED: getInputDefaultValue'); | |
| //System.debug('Sobject Passed: ' + so.getSObjectType().getDescribe().getName()); | |
| System.debug('String Passed: ' + st); | |
| return null; | |
| } | |
| global Boolean isFilterHidden(SObject so, String st){ | |
| System.debug('METHOD CALLED: isFilterHidden'); | |
| //System.debug('Sobject Passed: ' + so.getSObjectType().getDescribe().getName()); | |
| System.debug('String Passed: ' + st); | |
| return false; | |
| } | |
| global Boolean isInputHidden(SObject so, String st){ | |
| System.debug('METHOD CALLED: isInputHidden'); | |
| //System.debug('Sobject Passed: ' + so.getSObjectType().getDescribe().getName()); | |
| System.debug('String Passed: ' + st); | |
| return false; | |
| } | |
| global Boolean isSearchCustom(SObject so, Map<String,Object> ma){ | |
| System.debug('METHOD CALLED: isSearchCustom'); | |
| //System.debug('Sobject Passed: ' + so.getSObjectType().getDescribe().getName()); | |
| System.debug(ma); | |
| type1= 'Search'; | |
| return true; | |
| } | |
| global Boolean isSuggestCustom(SObject so, Map<String,Object> ma){ | |
| System.debug('METHOD CALLED: isSuggestCustom'); | |
| //System.debug('Sobject Passed: ' + so.getSObjectType().getDescribe().getName()); | |
| System.debug(ma); | |
| type1='Guided Selling'; | |
| return false; | |
| } | |
| global List<PricebookEntry> search(SObject quote, Map<String,Object> ma){ | |
| System.debug('Sobject Passed: ' + quote.getSObjectType().getDescribe().getName()); | |
| System.debug('Map Passed: ' + ma); | |
| List<PricebookEntry> pbesToReturn = new List<PricebookEntry>(); | |
| ProductSearcher searcher = new ProductSearcher((SBQQ__Quote__c)quote, ma); | |
| Map<Id, PricebookEntry> pbeMapResults = searcher.pbeMapSearch; | |
| Map<Id, Product2> productMapResults = searcher.productMapSearch; | |
| List<Inventory__c> inventoryListResults = searcher.inventoryListSearch; | |
| String pId; | |
| for(Inventory__c inv : inventoryListResults) | |
| { | |
| pId = inv.Product__c; | |
| Product2 p = productMapResults.get(pId).clone(false, true, false, false); | |
| p.Location__c = inv.MFG_Site__c; | |
| PricebookEntry pbe = pbeMapResults.get(pId).clone(false, true, false, false); | |
| pbe.getSObject('Product2'); | |
| pbe.Product2 = p; | |
| pbesToReturn.add(pbe); | |
| } | |
| return pbesToReturn; | |
| } | |
| global List<PricebookEntry> suggest(SObject so, Map<String,Object> ma){ | |
| System.debug('YOU ARE DOING: ' + type1); | |
| System.debug('METHOD CALLED: suggest'); | |
| //System.debug('Sobject Passed: ' + so.getSObjectType().getDescribe().getName()); | |
| System.debug(ma); | |
| List<PricebookEntry> pbes = [SELECT Id, PricebookEntry.Product2Id FROM PricebookEntry LIMIT 1]; | |
| return pbes; | |
| } | |
| } |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment