-
Notifications
You must be signed in to change notification settings - Fork 57
Open
Labels
Description
Hey guys, I'm trying to perform the expression below like Sum(x=>x.UnitQuantity) or Select(x=>x...) but I'm unable to parse it properly and I am getting this exception error below. Am I missing something with my expression?
NReco.Linq.LambdaParserException: 'Expected value at 22: order.OrderLines.Sum(d => d.UnitPrice * d.UnitQuantity)'
`
var lambdaParser = new LambdaParser();
var order = new Order()
{
Id = 1,
Paid = true,
OrderReference = "Animal",
OrderLines = new List<OrderLine>
{
new OrderLine
{
Id = 1,
UnitQuantity = 3,
Category = "CAT",
UnitPrice = 1.1M
},
new OrderLine
{
Id = 2,
UnitQuantity = 7,
Category = "DOG",
UnitPrice = 3.1M
}
}
};
var context = new Dictionary<string, object>
{
["order"] = order
};
//var expression = "order.Paid ? order.OrderLines.Sum(d=>d.UnitPrice * d.UnitQuantity) : order.OrderLines.Sum(d=>d.UnitPrice * d.UnitQuantity) * 2.0M";
var expression = "order.OrderLines.Sum(d => d.UnitPrice * d.UnitQuantity)";
var result = lambdaParser.Eval(expr, context);
`