• vivworld
  • NEWBIE
  • 15 Points
  • Member since 2016

  • Chatter
    Feed
  • 0
    Best Answers
  • 0
    Likes Received
  • 0
    Likes Given
  • 5
    Questions
  • 1
    Replies
I have 3 fields in contact object like FirstName , LastName, Email. I have more then 1000 records. I want to write batch apex class , so that after running that batch class contact FirstName from first row will tale Contact LastName from 2nd row. Contact LastName from first row will take Contact FirstName from 3 rd row, and Contact Email from first row will take Contact Email from 4 th row...and vice versa. We r using this  . Can you please share me the batch apex class for this. It would be great help if you can help me or guide me. This is very very urgent. below is the code written by me:-

I have 3 fields in contact object like FirstName , LastName, Email. I have more then 1000 records. I want to write batch apex class , so that after running that batch class contact FirstName from first row will tale Contact LastName from 2nd row. Contact LastName from first row will take Contact FirstName from 3 rd row, and Contact Email from first row will take Contact Email from 4 th row...and vice versa. We r using this  . Can you please share me the batch apex class for this. It would be great help if you can help me or guide me. This is very very urgent.

global class UpdatesObjectFields implements Database.Batchable<sObject> {
    
    global Database.QueryLocator start(Database.BatchableContext bc)
    {
        String query= 'SELECT FirstName, LastName, OtherStreet,OtherCity,OtherState,OtherPostalCode,OtherCountry,OtherStateCode,OtherCountryCode,OtherLatitude,OtherLongitude,OtherGeocodeAccuracy,MailingStreet,MailingCity,MailingState,MailingPostalCode,MailingCountry,MailingStateCode,MailingCountryCode,MailingLatitude,MailingLongitude,MailingGeocodeAccuracy,Phone,Fax,MobilePhone,HomePhone,OtherPhone,AssistantPhone,Email,Birthdate,Description,Middle_Name__c,Email_2nd__c,Gender__c,Last_Contact_Number__c  from Contact';


 return Database.getQueryLocator(query); 
    }
    
    global void execute(Database.BatchableContext bc, List<Contact> cnct)
    {
        
        Contact[] con = new List<Contact>();
        List<Contact> my_list = new List<Contact>();  
        List<Contact> my_list1 = new List<Contact>();
        my_list = cnct; 
        my_list1 = my_list;
        Contact ct = new Contact(); 
        for (integer i=0; i<cnct.size();i++ )
        {
            ct = my_list[i];
            integer j=0;
            if(i+1 >=my_list.size())    
            {
                ct.FirstName = my_list1[j].FirstName;      
            }
           else
            {
                ct.FirstName = my_list[i+1].FirstName;
            }
             if(i+2 >=my_list.size())    
            {
                ct.LastName = my_list1[j].LastName;
            }
            else
            {
                ct.LastName = my_list[i+2].LastName;
            }
               if(i+3 >=my_list.size())    
            {
                ct.OtherStreet = my_list1[j].OtherStreet;
            }
            else
            {
                ct.OtherStreet = my_list[i+3].OtherStreet;
            }  
            
            if(i+4 >=my_list.size())    
            {
                ct.OtherCity = my_list1[j].OtherCity;
            }
            else
            {
                ct.OtherCity = my_list[i+4].OtherCity;
            }  
            
          if(i+5 >=my_list.size() )    
            {
                ct.OtherState = my_list1[j].OtherState;
            }
            
            
            
            else
            {
                ct.OtherState = my_list[i+5].OtherState;
            }    
            
            if(i+6 >=my_list.size())    
            {
                ct.OtherPostalCode = my_list1[j].OtherPostalCode;
            }
            else
            {
                ct.OtherPostalCode = my_list[i+6].OtherPostalCode;
            }    
            
            if(i+7 >=my_list.size())    
            {
                ct.OtherCountry = my_list1[j].OtherCountry;
            }
            else
            {
                ct.OtherCountry = my_list[i+7].OtherCountry;
            }  
            
        if(i+8 >=my_list.size() )    
            {
                ct.OtherStateCode = my_list1[j].OtherStateCode;
            }
            else
            {
                ct.OtherStateCode = my_list[i+8].OtherStateCode;
            }      
              
        if(i+9 >=my_list.size())    
            {
                ct.OtherCountryCode = my_list1[j].OtherCountryCode;
            }
            else
            {
                ct.OtherCountryCode = my_list[i+9].OtherCountryCode;
            }      
              
          if(i+10 >=my_list.size())    
            {
                ct.OtherLatitude = my_list1[j].OtherLatitude;
            }
            else
            {
                ct.OtherLatitude = my_list[i+10].OtherLatitude;
            }   
            
            if(i+11 >=my_list.size())    
            {
                ct.OtherLongitude = my_list1[j].OtherLongitude;
            }
            else
            {
                ct.OtherLongitude = my_list[i+11].OtherLongitude;
            }   
            
         if(i+12 >=my_list.size() )    
            {
                ct.OtherGeocodeAccuracy = my_list1[j].OtherGeocodeAccuracy;
            }
            else
            {
                ct.OtherGeocodeAccuracy = my_list[i+12].OtherGeocodeAccuracy;
            }      
        
           /* if(i+13 >=my_list.size())    
            {
                ct.OtherAddress = my_list1[j].OtherAddress;j++;
            }
            else
            {
                ct.OtherAddress = my_list[i+13].OtherAddress;
            }   */
            
         if(i+14 >=my_list.size())    
            {
                ct.MailingStreet = my_list1[j].MailingStreet;
            }
            else
            {
                ct.MailingStreet = my_list[i+14].MailingStreet;
            }         
           
            
            if(i+15 >=my_list.size())    
            {
                ct.MailingCity = my_list1[j].MailingCity;j++;
            }
            else
            {
                ct.MailingCity = my_list[i+15].MailingCity;
            }   
            
          if(i+16 >=my_list.size()  )    
            {
                ct.MailingState = my_list1[j].MailingState;
            }
            else
            {
                ct.MailingState = my_list[i+16].MailingState;
            } 
            
         if(i+17 >=my_list.size() )    
            {
                ct.MailingPostalCode = my_list1[j].MailingPostalCode;
            }
            else
            {
                ct.MailingPostalCode = my_list[i+17].MailingPostalCode;
            }        
            
    
         if(i+18 >=my_list.size())    
            {
                ct.MailingCountry = my_list1[j].MailingCountry;
            }
            else
            {
                ct.MailingCountry = my_list[i+18].MailingCountry;
            }               
            
      if(i+19 >=my_list.size() )    
            {
                ct.MailingStateCode = my_list1[j].MailingStateCode;
            }
            else
            {
                ct.MailingStateCode = my_list[i+19].MailingStateCode;
            }               
                  
          if(i+20 >=my_list.size())    
            {
                ct.MailingCountryCode = my_list1[j].MailingCountryCode;
            }
            else
            {
                ct.MailingCountryCode = my_list[i+20].MailingCountryCode;
            }      
            
           
           if(i+21 >=my_list.size() )    
            {
                ct.MailingLatitude = my_list1[j].MailingLatitude;
            }
            else
            {
                ct.MailingLatitude = my_list[i+21].MailingLatitude;
            } 
            
             if(i+22 >=my_list.size() )    
            {
          
                ct.MailingLongitude = my_list1[j].MailingLongitude;
            }
            else
            {
                ct.MailingLongitude = my_list[i+22].MailingLongitude;
            }    
            
            if(i+23 >=my_list.size() )    
            {
                
                ct.MailingGeocodeAccuracy = my_list1[j].MailingGeocodeAccuracy;
            }
            else
            {
                ct.MailingGeocodeAccuracy = my_list[i+23].MailingGeocodeAccuracy;
            }   
            
           
           
            /*  if(i+24 >=my_list.size())    
            {
                ct.MailingAddress = my_list1[j].MailingAddress;j++;
            }
            else
            {
                ct.MailingAddress = my_list[i+24].MailingAddress;
            }  */ 
          
 if(i+25 >=my_list.size())    
            {
                ct.Phone = my_list1[j].Phone;
            }
            else
            {
                ct.Phone = my_list[i+25].Phone;
            }   

       if(i+26 >=my_list.size())    
            {
                ct.Fax = my_list1[j].Fax;j++;
            }
            else
            {
                ct.Fax = my_list[i+26].Fax;
            }   
     
        if(i+27 >=my_list.size())    
            {
                ct.MobilePhone = my_list1[j].MobilePhone;
            }
            else
            {
                ct.MobilePhone = my_list[i+27].MobilePhone;
            }   
         
        if(i+28 >=my_list.size())    
            {
                ct.HomePhone = my_list1[j].HomePhone;
            }
            else
            {
                ct.HomePhone = my_list[i+28].HomePhone;
            }   
              
            
             
        if(i+29 >=my_list.size())    
            {
                ct.OtherPhone = my_list1[j].OtherPhone;
            }
            else
            {
                ct.OtherPhone = my_list[i+29].OtherPhone;
            }    

              
        if(i+30 >=my_list.size())    
            {
                ct.AssistantPhone = my_list1[j].AssistantPhone;j++;
            }
            else
            {
                ct.AssistantPhone = my_list[i+30].AssistantPhone;
            }    
    
            if(i+31 >=my_list.size())    
            {
                ct.Email = my_list1[j].Email;j++;
            }
            else
            {
                ct.Email = my_list[i+31].Email;
            }    
    
            
            if(i+32 >=my_list.size() )    
            {
                ct.Birthdate = my_list1[j].Birthdate;j++;
                
            }
            else
            {
                ct.Birthdate = my_list[i+32].Birthdate;
            }    
    
        
            if(i+33 >=my_list.size())    
            {
                ct.Description = my_list1[j].Description;j++;
            }
            else
            {
                ct.Description = my_list[i+33].Description;
            }    
            
          
          /* if(i+34 >=my_list.size())    
            {
                ct.PhotoUrl = my_list1[j].PhotoUrl;j++;
            }
            else
            {
                ct.PhotoUrl = my_list[i+34].PhotoUrl;
            }  */  
           
           if(i+35 >=my_list.size())    
            {
                ct.Middle_Name__c = my_list1[j].Middle_Name__c;j++;
            }
            else
            {
                ct.Middle_Name__c = my_list[i+35].Middle_Name__c;
            }    
              
              
   
           if(i+36 >=my_list.size())    
            {
                ct.Email_2nd__c = my_list1[j].Email_2nd__c;j++;
            }
            else
            {
                ct.Email_2nd__c = my_list[i+36].Email_2nd__c;
            }    
              
     
           if(i+37 >=my_list.size())    
            {
                ct.Gender__c = my_list1[j].Gender__c;j++;
            }
            else
            {
                ct.Gender__c = my_list[i+37].Gender__c;
            }    
      
            
            
           if(i+38 >=my_list.size())    
            {
                ct.Last_Contact_Number__c = my_list1[j].Last_Contact_Number__c;j++;
            }
            else
            {
                ct.Last_Contact_Number__c = my_list[i+38].Last_Contact_Number__c;
            }  
             
      
            con.add(ct);
        }    
        update con;
        
        
    }
    
    global void finish(Database.BatchableContext bc)
    { 
    }
}

 

global class bepCDigital {
    //variable declarations
    public id ChatterEntityId{get;set;}
    public string Admingroupid{get;set;}
    public string Admingroupname{get;set;}
    public string ChatterEntityname{get;set;}
    public string IdChosen{get;set;}
    public List<Assets__c> DigitalAsset{get; set;}
    public List<FeedItemsWrapper> mostDiccussedFeedsList{get;set;}
    public List<Digital_Group__c> groupname {get;set;}
    public List<UsefulLinks__c> usefulink{get;set;}   
    public Document document {get; set; }
    public Integer commentcount {get; set; }
    public UsefulLinks__c usl{get;set;} //useful links
    
    //constructor
    Public bepCDigital()
    {
        try
        {
            usl = new UsefulLinks__c();
            document= new Document();
            commentcount = Integer.valueOf(Limits__c.getValues('MostDiscussedLimit').Count__c) ;
            Map<String,Digital_Group__c> allCodes = Digital_Group__c.getAll();
            groupname = allCodes.values();
            for(Digital_Group__c d:groupname)
            {
                if(d.RecordType__c=='Team')
                {
                    Admingroupid=d.ChatterGroupId__c;
                    Admingroupname=d.name;
                }
            }
            ChatterEntityId=Admingroupid;
            ChatterEntityname=Admingroupname;
            system.debug('ChatterEntityId'+ChatterEntityId);
            DigitalAsset=[select id,name,Asset_Storage__c,Asset_Type__c,Document_Type__c,External_Link__c,Asset_Image__c,IsUpdated__c,Description__c   from Assets__c  order by OrderAssetby__c asc limit 4];
            system.debug('DigAsset:' +DigitalAsset);
            this.mostDiccussedFeedsList= new List<FeedItemsWrapper>();
            getUsefullinks();
            //usefulink=[select name,url__c,Active__c,Description__c from UsefulLinks__c where Active__c=true];
            // AssestChatter();
            mostDiscussedPost();   
        }
        catch(Exception e)
        { 
            System.debug('Exception :' + e.getStackTraceString());
        }
    }    

    
    public string getdigitalHeadImage () { 
        try{
            document doc = [  SELECT Id,Description, FolderId, Folder.Name FROM Document WHERE Folder.Name = 'Head Of Digital Image' order by lastmodifieddate desc limit 1];
            string imageid = doc.id; 
            imageid = imageid.substring(0,15);
            return '/servlet/servlet.FileDownload?file=' + imageid;
        }
        catch(Exception e)
        { 
            System.debug('Exception :' + e.getStackTraceString());
            return null;
        }
        
    }    
   
 
    public PageReference upload() {
        document.AuthorId = UserInfo.getUserId();
        document doc = [  SELECT FolderId FROM Document WHERE Folder.Name = 'Head Of Digital Image' limit 1];
        document.FolderId = doc.FolderId; // put Head Of Digital Image folder's Id
        
        try {
            insert document;
        } catch (DMLException e) {
            ApexPages.addMessage(new ApexPages.message(ApexPages.severity.ERROR,'Error uploading file'));
            return null;
        } finally {
            document.body = null; // clears the viewstate
            document = new Document();
        }
        
        ApexPages.addMessage(new ApexPages.message(ApexPages.severity.INFO,'File uploaded successfully'));
        return null;
    }
    
    // Method for saving the url entered in useful link popup section
     public List<UsefulLinks__c> getUsefullinks()
     {
         usefulink = new list<UsefulLinks__c>();
         usefulink=[select name,url__c,Active__c,Description__c from UsefulLinks__c where Active__c=true];
         return usefulink;
     }
     public PageReference saveUrl() { 
     try {
            insert usl;
            getUsefullinks();
            
          } catch (DMLException e) {
                ApexPages.addMessage(new ApexPages.message(ApexPages.severity.ERROR,'Error while saving useful link'));
                return null;
          } finally {
              usl.Name=null;
              usl.Active__c=null;
              usl.Description__c=null;
              usl.Url__c=null;
          } 
        PageReference ref = new PageReference('/apex/bepVDigital_1?sfdc.tabName=01r6E000000Ciou');
    return ref;
  }
      

    public PageReference AssestChatter()
    {
        try
        {
            ChatterEntityId=IdChosen;
            system.debug('ChatterEntityId'+ChatterEntityId);
            Assets__c a=[select Id,name from Assets__c where id=:IdChosen];
            ChatterEntityname=a.name;
            mostDiscussedPost();
            return null;
        }
        catch(Exception e)
        { 
            System.debug('Exception :' + e.getStackTraceString());
            return null;
        }
    }
    
       
    
    Public PageReference mostDiscussedPost()
    {
        try{
            if( mostDiccussedFeedsList!=null)
            {
                mostDiccussedFeedsList.clear();  
            }
            for (FeedItem f:[select ID,body,ParentId,CommentCount,LikeCount,CreatedDate,CreatedById,CreatedBy.Name,(select commentbody,CreatedBy.Name,CreatedDate,CreatedById from feedcomments ) fc FROM FeedItem WHERE Parentid=:ChatterEntityId ORDER BY CommentCount Desc Limit :commentcount] )
            {
                system.debug('Inside FeedItem Loop');
                user u=[SELECT id,smallPhotoUrl from User WHERE Id =:f.CreatedById];
                system.debug(' *** User id : '+f.CreatedById);
                this.mostDiccussedFeedsList.add( new FeedItemsWrapper(f,getUserPhotoURL(u.id )));
            } 
            
            return null;
        }
        catch(Exception e)
        { 
            System.debug('$Exception :' + e.getStackTraceString());
            return null;
        }
    }
  
    public PageReference removeChatterlink()
    {
        try
        {
            ChatterEntityId=Admingroupid;
            ChatterEntityname=Admingroupname;
            mostDiscussedPost();
            return null;
        }
        catch(Exception e)
        { 
            System.debug('$$$$$ Exception :' + e.getStackTraceString());
            return null;
        }
    }
  
    public String getUserPhotoURL(id UserId) {
        try
        {
            ConnectApi.Photo ph =  ConnectApi.UserProfiles.getPhoto(null, UserId);
            return ph.fullEmailPhotoUrl;
        }
        catch(Exception e)
        { 
            System.debug('Exception :' + e.getStackTraceString());
            return null;
        }
    }
    public class FeedItemsWrapper
    {
        public FeedItem feedI{get;set;}
        public String imageurl{get;set;}     
        public List<FeedCommentsWrapper> feedComments {get;set;} 
        
        public FeedItemsWrapper(FeedItem fI,String image)
        {
            try
            {
                this.feedI= fI; 
                feedComments  = new  List<FeedCommentsWrapper>();          
                for( FeedComment feedC1 : fI.FeedComments)
                {               
                    FeedCommentsWrapper feedCommentsW = new  FeedCommentsWrapper();
                    feedCommentsW.feedc=feedC1;
                    ConnectApi.Photo ph =  ConnectApi.UserProfiles.getPhoto(null, feedC1.CreatedById);
                    feedCommentsW.imageurl =ph.fullEmailPhotoUrl;
                    feedComments.add(feedCommentsW);
                }
                this.imageurl = image;
            }
            catch(Exception e)
            { 
                //System.debug('$$$$$ Exception :' + e.getStackTraceString());
                System.debug('$$$$$ Exception :' + e);
            }
        }
    }
     
    public class FeedCommentsWrapper
    {
        public FeedComment feedc{get;set;}
        public String imageurl{get;set;} 
        public FeedCommentsWrapper(FeedComment fC,String image)
        {
            try
            {
                this.feedc= fC;
                this.imageurl = image;
            }
            catch(Exception e)
            { 
                System.debug('$$$$$ Exception :' + e.getStackTraceString());
            }
        }
        public FeedCommentsWrapper(){ }
    }
}
Please help me to write the test class for below class:- 

public class bepCFeed {
    public id ChatterEntityId{get;set;}
    public string Admingroupid{get;set;}
    public string Admingroupname{get;set;}
    public string ChatterEntityname{get;set;}
    public string IdChosen{get;set;}
    public List<Assets__c> DigitalAsset{get; set;}
    public List<Digital_Group__c> groupname {get;set;}
    public List<UsefulLinks__c> usefulink{get;set;}
    public ContentVersion cv {get;set;}
    // calendar
    public string todaysdate{get;set;}
    public String calendarId {get; set; }
    //constructor
    Public bepCFeed()
    {
        try
        {
            todaysdate=system.now().format('yyyy-MM-dd');
            calendarId = Calendar__c.getValues('PubCalendar').CalID__c;
            Map<String,Digital_Group__c> allCodes = Digital_Group__c.getAll();
            groupname = allCodes.values();
            for(Digital_Group__c d:groupname)
            {
                if(d.RecordType__c=='Team')
                {
                    Admingroupid=d.ChatterGroupId__c;
                    Admingroupname=d.name;
                }
            }
            ChatterEntityId=Admingroupid;
            ChatterEntityname=Admingroupname;
            system.debug('ChatterEntityId'+ChatterEntityId);
                }
        catch(Exception e)
        {
            System.debug('$$$$$ Exception :' + e.getStackTraceString());
        }
    }
    }
 
I have 3 fields in contact object like FirstName , LastName, Email. I have more then 1000 records. I want to write batch apex class , so that after running that batch class contact FirstName from first row will tale Contact LastName from 2nd row. Contact LastName from first row will take Contact FirstName from 3 rd row, and Contact Email from first row will take Contact Email from 4 th row...and vice versa.
Please help me to write the test class for below class:- 

public class bepCFeed {
    public id ChatterEntityId{get;set;}
    public string Admingroupid{get;set;}
    public string Admingroupname{get;set;}
    public string ChatterEntityname{get;set;}
    public string IdChosen{get;set;}
    public List<Assets__c> DigitalAsset{get; set;}
    public List<Digital_Group__c> groupname {get;set;}
    public List<UsefulLinks__c> usefulink{get;set;}
    public ContentVersion cv {get;set;}
    // calendar
    public string todaysdate{get;set;}
    public String calendarId {get; set; }
    //constructor
    Public bepCFeed()
    {
        try
        {
            todaysdate=system.now().format('yyyy-MM-dd');
            calendarId = Calendar__c.getValues('PubCalendar').CalID__c;
            Map<String,Digital_Group__c> allCodes = Digital_Group__c.getAll();
            groupname = allCodes.values();
            for(Digital_Group__c d:groupname)
            {
                if(d.RecordType__c=='Team')
                {
                    Admingroupid=d.ChatterGroupId__c;
                    Admingroupname=d.name;
                }
            }
            ChatterEntityId=Admingroupid;
            ChatterEntityname=Admingroupname;
            system.debug('ChatterEntityId'+ChatterEntityId);
                }
        catch(Exception e)
        {
            System.debug('$$$$$ Exception :' + e.getStackTraceString());
        }
    }
    }