Tuesday 19 March 2019

encryption and decryption

 //text to encrypt
    String clearText = 'FDVendor';

    //16 byte string. since characters used are ascii, each char is 1 byte.
    Blob key = Blob.valueOf('12345678901234567890123456789012');
    //encrypted blob
    Blob cipherText = Crypto.encryptWithManagedIV('AES256', key, Blob.valueOf(clearText ));
    //encrypted string
    String encodedCipherText = EncodingUtil.base64Encode(cipherText);

    System.debug(encodedCipherText);

    //encrypted blob
    Blob encodedEncryptedBlob = EncodingUtil.base64Decode(encodedCipherText);
    //decrypted blob
    Blob decryptedBlob = Crypto.decryptWithManagedIV('AES256', key, encodedEncryptedBlob);
    //decrypted string
    String decryptedClearText = decryptedBlob.toString();

    System.debug(decryptedClearText);


************Finailzed below

Blob key = Blob.valueOf(System.Label.SecPSD);
Blob data = Blob.valueOf('FDVendor_Live');
                String encodeddata =  EncodingUtil.base64encode(data);
                System.debug('encodeddata ' +encodeddata);
                Blob ecdata = Blob.valueOf(encodeddata);
                // Encrypt the data and have Salesforce.com generate the initialization vector
                Blob encryptedData = Crypto.encryptWithManagedIV('AES256', key, ecdata);
                System.debug('encryptedData ' +encryptedData);
                String encodeddata1 =  EncodingUtil.base64encode(encryptedData);
                System.debug('encodeddata1 ' +encodeddata1);

**************

SB3g45P2UScCfmW+KVZJnIw/9ER1aEXwNav+HxDUEOO/27jcF7N911pqvC8IJx+G
UOe5R2RkY7npT28yoCpCEbfMtl7e62B9lDwrLBR8sWTyTPjCk8H3xSEXCsDAL29l

String uname='UOe5R2RkY7npT28yoCpCEbfMtl7e62B9lDwrLBR8sWTyTPjCk8H3xSEXCsDAL29l';
Blob encodedEncryptedBlob1 = EncodingUtil.base64Decode(uname);
 Blob key = Blob.valueOf(System.Label.SecPSD);
Blob decryptedData = Crypto.decryptWithManagedIV('AES256', key, encodedEncryptedBlob1);
            System.debug('decryptedData ' +decryptedData);
            String decryptedDataString = decryptedData.toString();
            System.debug('decryptedDataString ' +decryptedDataString);
            Blob bdata  = EncodingUtil.base64Decode(decryptedDataString);
            String decryptedClearText1 = bdata.toString();
            System.debug('decrypted username  ' +decryptedClearText1);

Tuesday 12 March 2019

CNCAssinment_lead

*********Scenario___1*****

/****************************************************************************************
    Class Name:RSAG_LeadTrigger_Helper
    Developer Name:Krishna Nagendra Rao.Yerru         
    Created Date:   11-Mar-2019
    Test Class Name: 
    Project Name: SP-3849-CFI SCS Legacy Referral Bank Leads - Lead trigger changes for lead assignment functionality               
******************************************************************************************
Change History
--------------------------------------------------------------------------------------------------------------------------------------------------------------------
ChangeVersion       Name                  Date              Task/Case#                              Description
---------------------------------------------------------------------------------------------------------------------------------------------------------------------

******************************************************************************************/
public class RSAG_LeadTrigger_Helper{
    
      public static void CFILeadAssignment(List<Lead> NewListLeads){
              system.debug('@@CFILeadAssignment.'); 
        Map<Lead, String> CFI_LeadAssin_Map = new Map<Lead, String>();            
            for(Lead l:NewListLeads){
                system.debug('@@Lead is***'+l);
                String OwnrID=l.OwnerID;            
                system.debug('@@Owner is ***'+l.OwnerID);       
                if(l.OwnerID !=null){
                     if (!OwnrID.startsWith('00G')){
                        system.debug('@@OwnerID  id ***'+l.Owner);                                                                             
                        CFI_LeadAssin_Map.put(l,OwnrID);                    
                    }
                }
            }
            if(CFI_LeadAssin_Map.Size()>0){
                OwnerAssignment2(CFI_LeadAssin_Map);
            }
      }
      
      public Static Void OwnerAssignment2(Map<Lead, String> CFILeadAssinMap) {
          QueueSobject qus = [Select Id,Queue.id,Queue.Name from QueueSobject q where q.Queue.Name ='CFI_LeadAssignment_Queue' and q.SobjectType='Lead'];
           for(User Userdata:[Select Id,FirstName,LastName,Name,ManagerID,Manager.isActive,IsActive from User where Id =:CFILeadAssinMap.Values()]){
               for(Lead le:CFILeadAssinMap.Keyset()){
                   if(le.OwnerID==Userdata.id){
                       //Start Assignining
                        if(Userdata.IsActive==false){
                            if(Userdata.ManagerID==null){
                                le.OwnerID=qus.Queue.id;
                            }
                            else if(Userdata.ManagerID!=null){
                                String mgrid=Userdata.ManagerID;
                                boolean mgrdata=Userdata.Manager.isActive;
                                system.debug('@@mgr status is***'+mgrdata);                                                
                                if(mgrdata==true){ 
                                    le.OwnerID=mgrid;                           
                                }else if(!mgrdata){
                                    le.OwnerID=qus.Queue.id;
                                }

                            }
                        }
                       //END Assigning
                   }                           
               }
            }              
      }
      
       public Static String OwnerAssignment(String OwnrID) {
           String AssignedIDis=OwnrID;
            QueueSobject qus = [Select Id,Queue.id,Queue.Name from QueueSobject q where q.Queue.Name ='CFI_LeadAssignment_Queue' and q.SobjectType='Lead'];
           User Userdata=[Select Id,FirstName,LastName,Name,ManagerID,Manager.isActive,IsActive from User where Id =:OwnrID limit 1];
           if(Userdata!=null){
               if(Userdata.IsActive==false){
                   if(Userdata.ManagerID==null){
                      AssignedIDis=qus.Queue.id;
                   }
                   else if(Userdata.ManagerID!=null){
                       String mgrid=Userdata.ManagerID;
                        boolean mgrdata=Userdata.Manager.isActive;
                        system.debug('@@mgr status is***'+mgrdata);                                                
                            if(mgrdata==true){ 
                                AssignedIDis=mgrid;                         
                            }else if(!mgrdata){
                                AssignedIDis=qus.Queue.id;
                            }
                       
                   }
            }  
           }
          System.debug('AssignedIDis **'+AssignedIDis);
         return AssignedIDis;  
       }
    
}


*****************Scenario---2****

/****************************************************************************************
    Class Name:RSAG_LeadTrigger_Helper
    Developer Name:Krishna Nagendra Rao.Yerru       
    Created Date:   11-Mar-2019
    Test Class Name:
    Project Name: SP-3849-CFI SCS Legacy Referral Bank Leads - Lead trigger changes for lead assignment functionality             
******************************************************************************************
Change History
--------------------------------------------------------------------------------------------------------------------------------------------------------------------
ChangeVersion       Name                  Date              Task/Case#                              Description
---------------------------------------------------------------------------------------------------------------------------------------------------------------------

******************************************************************************************/
public class RSAG_LeadTrigger_Helper{
   
      public static void CFILeadAssignment(List<Lead> NewListLeads){
              system.debug('@@CFILeadAssignment.');         
            for(Lead l:NewListLeads){
                system.debug('@@Lead is***'+l);
                String OwnrID=l.OwnerID;           
                system.debug('@@Owner is ***'+l.OwnerID);     
                if(l.OwnerID !=null){
                     if (!OwnrID.startsWith('00G')){
                        system.debug('@@OwnerID  id ***'+l.Owner);                                                     
                        String assignedID=OwnerAssignment(OwnrID);                     
                        l.OwnerID=assignedID; 
                    }
                }
            }
      }
     
       public Static String OwnerAssignment(String OwnrID) {
           String AssignedIDis=OwnrID;
            QueueSobject qus = [Select Id,Queue.id,Queue.Name from QueueSobject q where q.Queue.Name ='CFI_LeadAssignment_Queue' and q.SobjectType='Lead'];
           User Userdata=[Select Id,FirstName,LastName,Name,ManagerID,Manager.isActive,IsActive from User where Id =:OwnrID limit 1];
           if(Userdata!=null){
               if(Userdata.IsActive==false){
                   if(Userdata.ManagerID==null){
                      AssignedIDis=qus.Queue.id;
                   }
                   else if(Userdata.ManagerID!=null){
                       String mgrid=Userdata.ManagerID;
                        boolean mgrdata=Userdata.Manager.isActive;
system.debug('@@mgr status is***'+mgrdata);                                               
                            if(mgrdata==true){
AssignedIDis=mgrid;
                            }else if(!mgrdata){
                                AssignedIDis=qus.Queue.id;
                            }
                     
                   }
            } 
           }
          System.debug('AssignedIDis **'+AssignedIDis);
         return AssignedIDis; 
       }
   
}