You need to sign in to do that
Don't have an account?
Paras 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;
}
}
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;
}
}