public with sharing class DoTempFormResponseTriggerHandler {
    public static final String SELF = 'DO_Temp_Form_Response__c';

    public static void onBeforeInsert(List<DO_Temp_Form_Response__c> doTFRs) {
        if (TriggerControl.isTriggerEnabled(SELF, TriggerOperation.BEFORE_INSERT)) {
            if (TriggerControl.isNewFunctionalityEnabled()) {
                DoTempFormResponseTriggerHelper.updateTSDKandParentMID(Trigger.new);
            }
        }
    }
    public static void onBeforeUpdate(List<DO_Temp_Form_Response__c> doTFRs) {
        if (TriggerControl.isTriggerEnabled(SELF, TriggerOperation.BEFORE_UPDATE)) {
            if (TriggerControl.isNewFunctionalityEnabled()) {
                DoTempFormResponseTriggerHelper.createTFRFromDOTFR(Trigger.new);
            }
        }
    }

    public static void onAfterInsert(List<DO_Temp_Form_Response__c> doTFRs) {
        if (TriggerControl.isTriggerEnabled(SELF, TriggerOperation.AFTER_INSERT)) {
            //DoTempFormResponseTriggerHelper.onAfterInsert(Trigger.new);
            if (TriggerControl.isNewFunctionalityEnabled()) {
                Map<Id, Form__c> formsById = TempFormResponseUtils.getFormsFromSObject(
                    doTFRs,
                    UtilConstants.FORM_ID_API_NAME
                );
                DoTempFormResponseTriggerHelper.upsertFanRetarget(Trigger.new, formsById);
            }
        }
    }
}