Conditional Ordering and Subsorting in LINQ

To accomplish conditional ordering you build upon your original LINQ assignment variable (in this case recs). If there are any records that haven’t been viewed by a user, the set is sorted one way, otherwise another.
As for subsorting notice the ThenByDescending method. I first sort ascending by a boolean that pushes all the false values to the top. I then subsort descendingly by a date. This will isolate the false group and subsort that group by a descending date. It will do the same with the true group.