score:2

Accepted answer
orders.orderlines.removeall(o => o.products.any(p => p.usebydate > datetime.now))

score:1

foreach(var order in orders.orderlines) {
    bool isvalid = true;
    foreach(var product in order.products) {
       if (datetime.compare(product.usebydate, datetime.now) > 0) {
            isvalid = false;
       }
    }
    if (isvalid = false) {
        orders.orderlines.remove(order);
    }
 }

Related Query

More Query from same tag