Skip to content

Lambda Sum or Select #33

@BossJake

Description

@BossJake

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);

`

Metadata

Metadata

Assignees

No one assigned

    Labels

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions