+ Start a Discussion
Paras JainParas Jain 

Sorting not working

global class wpSiteMatchProductComparable implements Comparable{ 
        
 
 Public list<wpSiteMatchProduct> InnerList{get; set;}
   list<wpSiteMatchProduct> ListRequested{get; set;}
   
   Public static String sortOrder {set;get;}
   public static String sortExpression {set;get;}
        
        public wpSiteMatchProductComparable(List<wpSiteMatchProduct> lstAccWr,String sortOrder2 ,String sortExpression2  )
        {
                InnerList = new list<wpSiteMatchProduct >(); 
             //   ListRequested = new list<wpSiteMatchProduct >();
                 InnerList = lstAccWr;
                 
                 sortExpression =sortExpression2 ;
                 sortOrder =sortOrder2 ;     
               system.debug('vvvvvvvvvvvvvvvvvvvv'+ InnerList +'eeeeeeeee'+ sortExpression + sortOrder );
        }           
            
                global Integer compareTo(Object vProp){  
                system.debug('dddddddddddddddddd');
                    wpSiteMatchProduct PropToComp = (wpSiteMatchProduct)vProp;
               system.debug('dddddddddddddddddd'+ InnerList +'qqqqqqqqqqqqq'+ sortExpression + sortOrder );     
                    if(sortExpression == 'zipcodes') {
                      if(sortExpression > (String)PropToComp.zipcodes){
                        return sortOrder.equals('ASC') ? 1 : 0;  
                      }
                      else{  
                        return sortOrder.equals('ASC') ? 0 : 1;
                        }                  
                    }
                    if(sortExpression == 'perOfLives') {
                      if(double.valueof(sortExpression) > (double)PropToComp.perOfLives){
                        return sortOrder.equals('ASC') ? 1 : 0;  
                      }
                      else{  
                        return sortOrder.equals('ASC') ? 0 : 1;
                        }                  
                    }
                    
                    if(sortExpression == 'noOfLives') {
                      if(Integer.valueof(sortExpression) > (Integer)PropToComp.noOfLives){
                        return sortOrder.equals('ASC') ? 1 : 0;  
                      }
                      else{  
                        return sortOrder.equals('ASC') ? 0 : 1;
                        }                  
                    }
                    if(sortExpression == 'fundingType') {
                      if(sortExpression > (String)PropToComp.fundingType){
                        return sortOrder.equals('ASC') ? 1 : 0;  
                      }
                      else{  
                        return sortOrder.equals('ASC') ? 0 : 1;
                        }                  
                    }
                    
                    if(sortExpression == 'product') {
                      if(sortExpression > (String)PropToComp.product){
                        return sortOrder.equals('ASC') ? 1 : 0;  
                      }
                      else{  
                        return sortOrder.equals('ASC') ? 0 : 1;
                        }                  
                    }
                    if(sortExpression == 'network') {
                      if(sortExpression > (String)PropToComp.network){
                        return sortOrder.equals('ASC') ? 1 : 0;  
                      }
                      else{  
                        return sortOrder.equals('ASC') ? 0 : 1;
                        }                  
                    }                       
                    else   
                       return 0;             
               } 
           
            
        }