Li Jun
2022-03-28 f5a94e721ae5a26f817f0df75065b64f1f192eb3
force-app/main/default/classes/NewAndEditContactController.cls
@@ -6,44 +6,69 @@
        
        List<String> fieldList = new List<String>(Schema.getGlobalDescribe().get('Contact').getDescribe().fields.getMap().keyset());  
        // Add fields to controller. This is to avoid the SOQL error in visualforce page
        controller.addFields(fieldList);
        if (!Test.isRunningTest()) {
            controller.addFields(fieldList);
        }
        Init(controller.getRecord());
        String contactId = controller.getRecord().Id;
        if(contactId != null){
            Contact c = [select UnifiedI_Contact_ID__c from Contact where Id =:contactId ];
            system.debug('Contact c = '+c);
            unifiedIContactID = c.UnifiedI_Contact_ID__c;
        }else{
            Map<string,string> mso = ApexPages.currentPage().getParameters();
            system.debug('mso='+mso);
            if(mso.containsKey('con4_lkid')){
                controller.getRecord().put('AccountId',mso.get('con4_lkid'));
            }
        }
        system.debug('controller.getRecord()='+controller.getRecord());
        // AWSToSobjectNonEncryptedMap.put('lastName', 'LastName');
        // AWSToSobjectNonEncryptedMap.put('phone', 'Phone');
        // AWSToSobjectNonEncryptedMap.put('email', 'Email');
        // AWSToSobjectNonEncryptedMap.put('medicalStaffFullName', 'MedicalStaff_Full_name__c');
        // AWSToSobjectNonEncryptedMap.put('mobilePhone', 'MobilePhone');
        // AWSToSobjectNonEncryptedMap.put('title', 'Title');
        // AWSToSobjectNonEncryptedMap.put('olyAssistantType', 'OLY_Assistant_Type__c');
        // AWSToSobjectNonEncryptedMap.put('jobCategoryPicklist', 'Job_Category_picklist__c');
        // AWSToSobjectNonEncryptedMap.put('type', 'Type__c');
        // AWSToSobjectNonEncryptedMap.put('contactAddress', 'Contact_address__c');
        // AWSToSobjectNonEncryptedMap.put('contactType', 'ContactType__c');
        // AWSToSobjectNonEncryptedMap.put('doctorDivision1', 'Doctor_Division1__c');
        // AWSToSobjectNonEncryptedMap.put('uniqueNumber', 'UniqueNumber__c');
        // AWSToSobjectEncryptedMap.put('lastNameEncrypt', 'LastName_Encrypted__c');
        // AWSToSobjectEncryptedMap.put('phoneEncrypt', 'Phone_Encrypted__c');
        // AWSToSobjectEncryptedMap.put('emailEncrypt', 'Email_Encrypted__c');
        // AWSToSobjectEncryptedMap.put('medicalStaffFullNameEncrypt', 'MedicalStaff_Full_name_Encrypted__c');
        // AWSToSobjectEncryptedMap.put('mobilePhoneEncrypt', 'MobilePhone_Encrypted__c');
        // AWSToSobjectEncryptedMap.put('titleEncrypt', 'Title_Encrypted__c');
        // AWSToSobjectEncryptedMap.put('olyAssistantTypeEncrypt', 'OLY_Assistant_Type_Encrypted__c');
        // AWSToSobjectEncryptedMap.put('jobCategoryPicklistEncrypt', 'Job_Category_picklist_Encrypted__c');
        // AWSToSobjectEncryptedMap.put('typeEncrypt', 'Type_Encrypted__c');
        // AWSToSobjectEncryptedMap.put('contactAddressEncrypt', 'Contact_address_Encrypted__c');
        // AWSToSobjectEncryptedMap.put('contactTypeEncrypt', 'ContactType_Encrypted__c');
        // AWSToSobjectEncryptedMap.put('doctorDivision1Encrypt', 'Doctor_Division1_Encrypted__c');
        // AWSToSobjectEncryptedMap.put('uniqueNumberEncrypt', 'UniqueNumber_Encrypted__c');
    }
    PageReference RedirectStandardPage(){
        Map<string,string> mso = ApexPages.currentPage().getParameters();
        system.debug(mso);
        PageReference pg = null;
        mso.remove('sfdc.override');
        system.debug('recordId='+recordId);
        if(string.isBlank(recordId)){
            pg = new PageReference('/003/e');
        }else{
            pg = new PageReference('/'+recordId+'/e');
        }
        //pg.getParameters().putAll(mso);
        pg.getParameters().put('RecordType',mso.get('RecordType'));
        pg.getParameters().put('accid',mso.get('accid'));
        pg.getParameters().put('nooverride','1');
        pg.setRedirect(true);
        return pg;
    }
    public PageReference PageLoad(){
        system.debug('rtTypeId='+rtTypeId);
        string s = null;
        if(!string.isBlank(rtTypeId)){
            s = Schema.SObjectType.Contact.getRecordTypeInfosById().get(rtTypeId).getDeveloperName();
            if(s == 'Agency' || s == 'Internal_staff'){
                return RedirectStandardPage();
            }
        }
        string accid = ApexPages.currentPage().getParameters().get('accid');
        if(!string.isBlank(accid)){
            List<Account> accs = [select RecordType.DeveloperName from account where id = :accid];
            if(accs.size()>0){
                s = accs[0].RecordType.DeveloperName;
                if(s == 'Office' || s == 'AgencyContact' || s == 'Agency'){
                    return RedirectStandardPage();
                }
            }
        }
        system.debug('null');
        return null;
    }
    
    @RemoteAction
    global static Response saveContact(String leadJson,String transId,Boolean isNew) {