public Map convertCodesToIds() {
 String accountCode = (String)arguments.get('accountCode');
 String locationCode = (String)arguments.get('locationCode');
 String sessionCode = (String)arguments.get('sessionCode');
 String orderCode = (String)arguments.get('orderCode');

 Map ids = new Map();

 if (!AvocadoUtils.invalidString(accountCode)) {
 Account[] acc = [
 SELECT Id
 FROM Account
 WHERE Code__c = :accountCode
 ];

 if (acc == null || acc.size() == 0) {
 throw new AvocadoException('Could not find any account from code');
 }

 ids.put('accountId', acc[0].Id);
 }

 if (!AvocadoUtils.invalidString(locationCode)) {
 Location__c[] loc = [
 SELECT Id
 FROM Location__c
 WHERE Code__c = :locationCode
 ];

 if (loc == null || loc.size() == 0) {
 throw new AvocadoException('Could not find any location from code');
 }

 ids.put('locationId', loc[0].Id);
 }

 if (!AvocadoUtils.invalidString(sessionCode)) {
 Session__c[] ses = [
 SELECT Id
 FROM Session__c
 WHERE Code__c = :sessionCode
 ];

 if (ses == null || ses.size() == 0) {
 throw new AvocadoException('Could not find any session from code');
 }

 ids.put('sessionId', ses[0].Id);
 }

 if (!AvocadoUtils.invalidString(locationCode)) {
 Order[] ord = [
 SELECT Id
 FROM Order
 WHERE Code__c = :orderCode
 ];

 if (ord == null || ord.size() == 0) {
 throw new AvocadoException('Could not find any order from code');
 }

 ids.put('orderId', ord[0].Id);
 }

 return ids;
 }