I am getting the following errors in my code. 'Unexpected token 'public'' and 'Variable does not exist:quoteCurrencyTotal' and the same for quoteCurrency and costCurrency. What am I doing wrong? I am new to apex.
public void getPricesAndReferences(List<Item> items) {
for (Item i : items) {
i.pricesMap = new Map<String, Double>();
i.referencesMap = new Map<String, String>();
i.totalsMap = new Map <String,Double>();
i.quoteCurrencyTotal = new map <String, Double>();
i.costCurrencyTotal = new map <String, Double>();
i.summedMap = new map <String,Double>();
if (MultiQuoteConfigurations.Single_Reference__c) {
NoOfUnitsForBeaconReference = 1;
for (OpportunityLineItem opportunity_line_item : OpportunityProductsList) {
String price_unit = (String.isNotBlank(opportunity_line_item.Equipment_Type_Pull__c)) ? opportunity_line_item.Equipment_Type_Pull__c : '-';
String quote_currency = (String.isNotBlank(opportunity_line_item.Quote_Currency__c)) ? opportunity_line_item.Quote_Currency__c : '-';
String cost_currency = (String.isNotBlank(opportunity_line_item.Cost_Currency__c)) ? opportunity_line_item.Cost_Currency__c : '-';
if (i.isRelatedRecord(opportunity_line_item, MultiQuoteConfigurations)) {
i.pricesMap.put(opportunity_line_item.Product2.Name + ' ' + price_unit, opportunity_line_item.Unit_Price__c != null ? opportunity_line_item.Unit_Price__c : null);
i.referencesMap.put(price_unit, opportunity_line_item.Beacon_Reference_ID__c !=null ? opportunity_line_item.Beacon_Reference_ID__c : '-');
i.totalsMap.put(price_unit, opportunity_line_item.unit_price_quote_currency__c !=null ? opportunity_line_item.unit_price_quote_currency__c : null);
i.quoteCurrencyTotal.put(quote_currency + '' + price_unit, opportunity_line_item.Unit_Price_Quote_Currency__c !=null ? opportunity_line_item.Unit_Price_Quote_Currency__c: null);
i.costCurrencyTotal.put(cost_currency + '' + price_unit, opportunity_line_item.Unit_Price__c !=null ? opportunity_line_item.Unit_Price__c: null);
}
else {
i.pricesMap.put(opportunity_line_item.Product2.Name + ' ' + price_unit, null);
i.referencesMap.put(price_unit, '-');
i.totalsMap.put(price_unit, null);
i.quoteCurrencyTotal.put(quote_currency + '' + price_unit,null);
i.costCurrencyTotal.put(cost_currency + '' + price_unit,null);
}
public static Map<String,Decimal> sumMaps(Map<String,Decimal>quoteCurrencyTotal, Map<String,Decimal>costCurrencyTotal) {
Set<String> keys1 = quoteCurrencyTotal.keySet();
Set<String> keys2 = costCurrencyTotal.keySet();
keys1.retainAll(keys2);
Map<String,Decimal> summedMap = new Map<String,Decimal>();
for(String k : keys1) {
summedMap.put(k, quoteCurrency.get(k) + costCurrencyTotal.get(k));
}
return summedMap;
}
}
}
}
}