public static QueryExpression GetQueryExpression(QueryExpressionInfo queryExpressionInfo, OrderEntity orderEntity) { if (queryExpressionInfo == null) { return(null); } QueryExpression queryExpression = queryExpressionInfo.GetQueryExpression(); QueryExpression tempExp = queryExpression; while (tempExp != null) { string[] strs = tempExp.PropertyName.Split('.'); if (strs[0] == "Entity") { tempExp.PropertyName = strs[1]; } string propertyValue = tempExp.PropertyValue; if (propertyValue.StartsWith("{") && propertyValue.EndsWith("}")) { propertyValue = CommonFunction.TryConvertValue(orderEntity.GetObjValue(propertyValue), propertyValue); } tempExp.PropertyValue = propertyValue; tempExp = tempExp.RelatedExpression; } return(queryExpression); }
private static QueryExpressionInfo GetQueryExpressionInfo(XElement xe) { if (xe == null) { return(null); } QueryExpressionInfo q = new QueryExpressionInfo(); SetValue(q, xe); QueryExpressionInfo currentQ = q; XElement currentXe = xe.Element("RelatedExpression"); while (currentXe != null) { currentQ.RelatedExpression = GetQueryExpressionInfo(currentXe); currentXe = currentXe.Element("RelatedExpression"); } return(q); }
private QueryExpression GetQueryExpression(QueryExpressionInfo queryExpressionInfo) { if (queryExpressionInfo == null) { return(null); } QueryExpression qe = new QueryExpression(); qe.PropertyName = queryExpressionInfo.PropertyName; qe.QueryType = queryExpressionInfo.QueryType; qe.RelatedType = queryExpressionInfo.RelatedType == "And" ? QueryExpression.RelationType.And : QueryExpression.RelationType.Or; QueryExpression.Operations op = QueryExpression.Operations.Equal; if (queryExpressionInfo.PropertyName == QueryExpression.Operations.GreaterThan.ToString()) { op = QueryExpression.Operations.GreaterThan; } else if (queryExpressionInfo.PropertyName == QueryExpression.Operations.GreaterThanOrEqual.ToString()) { op = QueryExpression.Operations.GreaterThanOrEqual; } else if (queryExpressionInfo.PropertyName == QueryExpression.Operations.LessThan.ToString()) { op = QueryExpression.Operations.LessThan; } else if (queryExpressionInfo.PropertyName == QueryExpression.Operations.LessThanOrEqual.ToString()) { op = QueryExpression.Operations.LessThanOrEqual; } else if (queryExpressionInfo.PropertyName == QueryExpression.Operations.Like.ToString()) { op = QueryExpression.Operations.Like; } qe.Operation = op; qe.PropertyValue = queryExpressionInfo.PropertyValue; qe.RelatedExpression = GetQueryExpression(queryExpressionInfo.RelatedExpression); return(qe); }
private QueryExpression GetQueryExpression(QueryExpressionInfo queryExpressionInfo) { if (queryExpressionInfo == null) { return null; } QueryExpression qe = new QueryExpression(); qe.PropertyName = queryExpressionInfo.PropertyName; qe.QueryType = queryExpressionInfo.QueryType; qe.RelatedType = queryExpressionInfo.RelatedType == "And" ? QueryExpression.RelationType.And : QueryExpression.RelationType.Or; QueryExpression.Operations op = QueryExpression.Operations.Equal; if (queryExpressionInfo.PropertyName == QueryExpression.Operations.GreaterThan.ToString()) { op = QueryExpression.Operations.GreaterThan; } else if (queryExpressionInfo.PropertyName == QueryExpression.Operations.GreaterThanOrEqual.ToString()) { op = QueryExpression.Operations.GreaterThanOrEqual; } else if (queryExpressionInfo.PropertyName == QueryExpression.Operations.LessThan.ToString()) { op = QueryExpression.Operations.LessThan; } else if (queryExpressionInfo.PropertyName == QueryExpression.Operations.LessThanOrEqual.ToString()) { op = QueryExpression.Operations.LessThanOrEqual; } else if (queryExpressionInfo.PropertyName == QueryExpression.Operations.Like.ToString()) { op = QueryExpression.Operations.Like; } qe.Operation = op; qe.PropertyValue = queryExpressionInfo.PropertyValue; qe.RelatedExpression = GetQueryExpression(queryExpressionInfo.RelatedExpression); return qe; }
private static QueryExpressionInfo GetQueryExpressionInfo(XElement xe) { if (xe == null) { return null; } QueryExpressionInfo q = new QueryExpressionInfo(); SetValue(q, xe); QueryExpressionInfo currentQ = q; XElement currentXe = xe.Element("RelatedExpression"); while (currentXe != null) { currentQ.RelatedExpression = GetQueryExpressionInfo(currentXe); currentXe = currentXe.Element("RelatedExpression"); } return q; }
public static QueryExpression GetQueryExpression(QueryExpressionInfo queryExpressionInfo, OrderEntity orderEntity) { if (queryExpressionInfo == null) { return null; } QueryExpression queryExpression = queryExpressionInfo.GetQueryExpression(); QueryExpression tempExp = queryExpression; while (tempExp != null) { string[] strs = tempExp.PropertyName.Split('.'); if (strs[0] == "Entity") { tempExp.PropertyName = strs[1]; } string propertyValue = tempExp.PropertyValue; if (propertyValue.StartsWith("{") && propertyValue.EndsWith("}")) { propertyValue = CommonFunction.TryConvertValue(orderEntity.GetObjValue(propertyValue), propertyValue); } tempExp.PropertyValue = propertyValue; tempExp = tempExp.RelatedExpression; } return queryExpression; }