Answers for "compare hash logic 29-04-2022"

0

compare hash logic 29-04-2022

List<Workflow_Activity__c> workflowWithPreviousHashList  = [Select Id, Workflow_Activity_Metadata__r.Is_Stage_Change_Activity_Formula__c,Workflow_Activity_Metadata__r.Canonical_Name__c,
        Workflow_Activity_Metadata__r.Previous_Stage__c,Workflow_Activity_Metadata__r.Application_Stages__c,Workflow_Activity_Metadata__r.Mandatory_Application_Stages__c,Workflow_Activity_Metadata__r.Hash_Template__c,
        Workflow_Activity_Metadata__r.Handler_Name__c,Workflow_Activity_Metadata__r.Is_System_Activity__c,Workflow_Activity_Metadata__r.Additional_Hash_Computation_Activities__c,
        Workflow_Activity_Metadata__r.CreatedDate,Activity_Hash_Value__c,ReAppraise_Activity_Hash_Value__c,Is_Active__c,Is_bypassed__c,Is_Unbounded__c,Is_System_Activity__c,Stage__c,Context_Object__c,Applicant__c,
        Canonical_Name__c,Applicant__r.Name,Applicant__r.Mode_of_Application__c,Activity_Hash_JSON__c,LastModifiedDate FROM Workflow_Activity__c Where Canonical_Name__c='E-Application' AND Opportunity__c=:this.params.loanApplication.Id];
        //Iterate over the all activities to get the list of activities 
        
		if(workflowWithPreviousHashList != null && !workflowWithPreviousHashList.isEmpty()){
            for(Workflow_Activity__c activity : workflowWithPreviousHashList){
                if(activity.Is_Active__c == true 
                    && activity.Is_Unbounded__c == false
                    && activity.Is_bypassed__c == false
                    && activity.Is_System_Activity__c == false
                    && activity.Workflow_Activity_Metadata__r.Application_Stages__c != null 
                    && activity.Workflow_Activity_Metadata__r.Application_Stages__c.contains(this.params.loanApplication.StageName) 
                    && activity.Stage__c == GlobalConstants.WORKFLOW_ACTIVITY_STAGE_PASSED
                    ) {
                    if(!activitiesToBeProcessed.containsKey(activity.Id)
                      	&& String.isNotBlank(activity.Activity_Hash_Value__c)){
                        //check if the activities of only applicant to be executed
                        if(String.isNotBlank(applicantId) && activity.Applicant__c == applicantId){
                            activitiesToBeProcessed.put(activity.Id,activity);
                        }else if(String.isBlank(applicantId) ){//&& activity.Applicant__c == null){//for opportunity activities
                            activitiesToBeProcessed.put(activity.Id,activity);
                        }                        

                    }
                }
Posted by: Guest on April-29-2022

Browse Popular Code Answers by Language