function readOnly(count){ }
Starting November 20, the site will be set to read-only. On December 4, 2023,
forum discussions will move to the Trailblazer Community.
+ Start a Discussion
soumya 1soumya 1 

FATAL_ERROR System.TypeException: Invalid conversion from runtime type Contact to RES_Application__c

In TriggerHandler i am getting 'FATAL_ERROR System.TypeException: Invalid conversion from runtime type Contact to REO_Application__c'
line number 15 
REO_Application__c reo = (REO_Application__c)application;


Trigger:

trigger REOApplicationTrigger on REO_Application__c (before insert, before update, after update) {
    new REOApplicationTriggerHandler().run();
}

TriggerHandler :

public without sharing class REOApplicationTriggerHandler extends TriggerHandler {
    public REOApplicationTriggerHandler() {}
    
    override public void beforeInsert() {
        List<REO_Application__c> REOsToCreateContact = new List<REO_Application__c>();
        for(REO_Application__c reo : (List<REO_Application__c>)Trigger.new) {
            if(reo.Applicant_Contact__c == null) {
                REOsToCreateContact.add(reo);
            }                                                        
        }   
        if(!REOsToCreateContact.isEmpty()) {
            Map<SObject, Id> applicationContactIds = Utility.createContact(REOsToCreateContact, Utility.getContactFieldMapping('REO'));
            if(applicationContactIds != null) {
                for(SObject application : applicationContactIds.keySet()) {
                    REO_Application__c reo = (REO_Application__c)application;
                    reo.Applicant_Contact__c = applicationContactIds.get(reo);
                }                 
            }           
        }
    }

Utility: getContactFieldMapping

  public static Map<String, String> getContactFieldMapping(String objType) {
        Map<String, String> fieldMap = new Map<String, String>();
        switch on objType {
            when 'REO' {
                fieldMap.put('Applicant_Last_Name__c', 'LastName');
                fieldMap.put('Applicant_Country__c', 'MailingCountry');
                fieldMap.put('Applicant_Postal_Code__c', 'MailingPostalCode');
                fieldMap.put('Applicant_Street__c', 'MailingStreet');
                fieldMap.put('Applicant_Mobile__c', 'MobilePhone');
                fieldMap.put('Applicant_NRIC_FIN__c', 'NRIC_FIN__c');
                fieldMap.put('Applicant_Phone__c', 'Phone');
                fieldMap.put('Date_of_Birth__c', 'Birthdate');                
                fieldMap.put('Gender__c', 'Gender__c');
                fieldmap.put('Applicant_Nationality__c', 'Nationality__c');
                fieldMap.put('Work_Permit_Expiry_Date__c', 'Work_Permit_Expiry_Date__c');
                fieldMap.put('Work_Permit_Number__c', 'Work_Permit_Number__c');
            }
            when 'RES' {
                fieldMap.put('Applicant_Last_Name__c', 'LastName');
                fieldMap.put('Applicant_Country__c', 'MailingCountry');
                fieldMap.put('Applicant_Postal_Code__c', 'MailingPostalCode');
                fieldMap.put('Applicant_Street__c', 'MailingStreet');
                fieldMap.put('Applicant_Mobile__c', 'MobilePhone');
                fieldMap.put('Applicant_NRIC_FIN__c', 'NRIC_FIN__c');
                fieldMap.put('Applicant_Phone__c', 'Phone');
                fieldMap.put('Date_of_Birth__c', 'Birthdate');                
                fieldMap.put('Gender__c', 'Gender__c');        
                fieldmap.put('Applicant_Nationality__c', 'Nationality__c');
                fieldMap.put('Work_Permit_Expiry_Date__c', 'Work_Permit_Expiry_Date__c');
                fieldMap.put('Work_Permit_Number__c', 'Work_Permit_Number__c');                
            }
            when else {
                return null;
            }
        }
        return fieldMap;
    }
 
Weston ConnorWeston Connor
Hi, Have you found the solution of it? Kindly if you have found any solution so share with us. We are also facing the same issue on long range airsoft sniper (https://sniperpedia.com/best-long-range-airsoft-sniper-rifle/). Due to these issue I can't update anything. I searched on Google, Youtube, Reddit. But haven't found the solution of it. I will be thankfull if you share the solution or fixing method with us.