Esempio n. 1
0
        private Expression <Func <ResCurrentType, bool> > FinaliseExpression(Expression Final_InnerExpression)
        {
            var IdAndExpression = Expression.And(BinaryExpressionIdEquals, Final_InnerExpression);
            Expression <Func <ResIndexQuantityType, bool> > InnerFunction = Expression.Lambda <Func <ResIndexQuantityType, bool> >(IdAndExpression, InnerParameter);
            var CommonExpression = new ResourceSearchCommonExpressionTrees <ResCurrentType, ResIndexStringType, ResIndexTokenType, ResIndexUriType, ResIndexReferenceType, ResIndexQuantityType, ResIndexDateTimeType>();
            MethodCallExpression MethodAnyCall = CommonExpression.IndexListAnyMethodCallExpression(IndexListParameter, InnerFunction);

            return(Expression.Lambda <Func <ResCurrentType, bool> >(MethodAnyCall, IndexListParameter));
        }
Esempio n. 2
0
        public void Setup(int Id, decimal LowNumber, decimal MidNumber, decimal HighNumber, string System, string Code)
        {
            InnerParameter     = Expression.Parameter(typeof(ResIndexQuantityType), "c");
            IndexListParameter = Expression.Parameter(typeof(ResCurrentType), "x");

            var CommonExpression = new ResourceSearchCommonExpressionTrees <ResCurrentType, ResIndexStringType, ResIndexTokenType, ResIndexUriType, ResIndexReferenceType, ResIndexQuantityType, ResIndexDateTimeType>();

            BinaryExpressionIdEquals = CommonExpression.SearchParameterIdBinaryExpression(Id, InnerParameter);

            propertyReferenceComparator = Expression.Property(InnerParameter, StaticDatabaseInfo.BaseResourceIndexConstatnts.Comparator);
            propertyReferenceNumber     = Expression.Property(InnerParameter, StaticDatabaseInfo.BaseResourceIndexConstatnts.Quantity);

            propertyReferenceSystem = Expression.Property(InnerParameter, StaticDatabaseInfo.BaseResourceIndexConstatnts.System);
            propertyReferenceCode   = Expression.Property(InnerParameter, StaticDatabaseInfo.BaseResourceIndexConstatnts.Code);
            propertyReferenceUnit   = Expression.Property(InnerParameter, StaticDatabaseInfo.BaseResourceIndexConstatnts.Unit);

            SearchValueReferenceLow  = Expression.Constant(LowNumber, typeof(decimal?));
            SearchValueReferenceMid  = Expression.Constant(MidNumber, typeof(decimal?));
            SearchValueReferenceHigh = Expression.Constant(HighNumber, typeof(decimal?));

            SearchValueReferenceSystem = Expression.Constant(System);
            SearchValueReferenceCode   = Expression.Constant(Code);
        }