Вы описываете задачу немного неловко, что (я думаю) приводит вас к немного неправильной реализации.
Я говорю:
items
.Where(x => x.status == "Rejected")
.OrderBy(x => x.DateSubmitted)
.Concat(items.
.Where(x => x.status == "Accepted")
.OrderByDescending(x => x.DateSubmitted));
Основное отличие состоит в том, что теперь статус, отличный от «Отклонено» или «Принят», не отображается
Тем не менее, я думаю, что это то, что вы хотели. Если вы хотите полный набор, рассмотрите возможность использования
items
.Where(x => x.status == "Rejected")
.OrderBy(x => x.DateSubmitted)
.Concat(items.
.Where(x => x.status != "Rejected")
.OrderByDescending(x => x.DateSubmitted));
PS. Это также предполагает Linq-To-Objects. Я не очень хорошо разбираюсь в Linq-to-EF или Linq-to-SQL