/***********************************************************************************************************
 * Name         : FormMLTriggerSendMapTriggerHelper
 * Purpose      : Trigger helper class to hold the logic for FormMLTriggerSendMapping records.
 **********************************************************************************************************/
public with sharing class FormMLTriggerSendMapTriggerHelper {
    /**
     * @description Pre-Existing Method. Updates the Form_ID__c based on Form's Migration_Id__c
     * @param formMLs FormMLTriggerSendMapping__c list
     */
    public static void updateFormId(List<FormMLTriggerSendMapping__c> formMLs) {
        Set<String> formMigrationIds = new Set<String>();
        Map<String, Id> mapFormMigrationIdFormId = new Map<String, Id>();
        List<FormMLTriggerSendMapping__c> formMLsBoomi = new List<FormMLTriggerSendMapping__c>();
        for (FormMLTriggerSendMapping__c formML : formMLs) {
            if (formML.IsCreatedByBoomiProcess__c) {
                formMigrationIds.add(formML.FormsTool_FormID__c);
                formMLsBoomi.add(formML);
            }
        }
        if (!formMLsBoomi.isEmpty()) {
            for (Form__c form : [SELECT Id, Migration_Id__c FROM Form__c WHERE Migration_Id__c IN :formMigrationIds]) {
                mapFormMigrationIdFormId.put(form.Migration_Id__c, form.Id);
            }
            for (FormMLTriggerSendMapping__c formML : formMLsBoomi) {
                formML.Form_ID__c = mapFormMigrationIdFormId.get(formML.FormsTool_FormID__c);
            }
        }
    }
}
