Ejemplo n.º 1
0
 private List <T> OrderBy(string orderFieldName, List <T> recordList, OrderByExpression.OrderType orderType)
 {
     for (int i = 0; i < recordList.Count; i++)
     {
         for (int j = recordList.Count - 1; j > i; j--)
         {
             int             previousIndex = j - 1;
             T               recordA       = recordList[j];
             T               recordB       = recordList[previousIndex];
             PropertyInfo    pinfoA        = recordA.GetType().GetProperty(orderFieldName);
             PropertyInfo    pinfoB        = recordB.GetType().GetProperty(orderFieldName);
             BaseFieldSchema fieldScheamA  = recordA.fieldSchemaCollection.Get(orderFieldName);
             BaseFieldSchema fieldScheamB  = recordB.fieldSchemaCollection.Get(orderFieldName);
             object          valueA        = pinfoA.GetValue(recordA, null);
             object          valueB        = pinfoB.GetValue(recordB, null);
             if (orderType == OrderByExpression.OrderType.Asc && false != fieldScheamA.MoreThan(valueB))
             {
                 T table = recordList[previousIndex];
                 recordList[previousIndex] = recordList[j];
                 recordList[j]             = table;
             }
             else if (orderType == OrderByExpression.OrderType.Desc && false != fieldScheamB.MoreThan(valueA))
             {
                 T table = recordList[previousIndex];
                 recordList[previousIndex] = recordList[j];
                 recordList[j]             = table;
             }
         }
     }
     return(recordList);
 }
Ejemplo n.º 2
0
 public ConditionExpression(string fieldName, string comparisonOperator, BaseFieldSchema field)
 {
     this.fieldName          = fieldName;
     this.comparisonOperator = comparisonOperator;
     this.field = field;
 }