Я пытаюсь выяснить BRE NRules и получить некоторые примеры работы, но с трудом подбираю коллекцию.NRules: соответствие коллекции
IEnumerable<Order> orders = null;
When()
.Match<IEnumerable<Order>>(o => o.Where(c => c.Cancelled).Count() >= 3)
.Collect<Order>(() => orders, o => o.Cancelled);
Then()
.Do(ctx => orders.ToList().ForEach(o => o.DoSomething()));
В принципе, я хочу, если есть 3 заказа отменены, то выполните некоторые действия. Но я не могу найти совпадение в коллекции, отдельные переменные действительно работают.
Программа:
var order3 = new Order(123458, customer, 2, 20.0);
var order4 = new Order(123459, customer, 1, 10.0);
var order5 = new Order(123460, customer, 1, 11.0);
order3.Cancelled = true;
order4.Cancelled = true;
order5.Cancelled = true;
session.Insert(order3);
session.Insert(order4);
session.Insert(order5);
session.Fire();
Что я здесь делаю неправильно?
Спасибо, я дам ему попробовать завтра и дам вам знать. :) –