Hi
First: Your code does unneeded conversion to a list while you just need enumeration (and in the wrong order too).
So if you need your result enumerated (and you enumerate it again after that...)
you would write:
var takeoffsSelected = TakeOffInfoCollection.Where(x => x.IsSelected).ToList();
So you transform the result to a list after searching the matching elements.
What you do now is:
First enumerate all elements to a new list, then in Memory (not via the original query provider) you use LinqToObjects to search the list. then you enumerate the results. - You see this is "not so good"...
Just write:
var takeoffsSelected = TakeOffInfoCollection.Where(x => x.IsSelected);
foreach (var takeoff in takeoffsSelected)
...
So your current code is not very efficient (depends on the cost of transforming all items to a in-Memory list...) but should work. So the Problem is not in the code you are showing. -Maybe the checkboxes don't set the IsSelected propery correctly or something like that, debug and see....
Kind regards Johanne