Сортирую список и нужно указать условие что-то вроде если "поле" == null, то сортируй по "поле2", если нет то сортируй по "поле". Как я понял конструкция ()?: в нутри Linq не работает. Вот мой набросок:
var sortList = dataList.OrderByDescending(s => s.Status.Value == Status.Yellow)
.ThenByDescending(s => s.Status.Value == Status.Green)
.ThenByDescending(s => s.Status.Value==Status.Grey|| s.Status.Value ==Status.White|| s.Status.Value == Status.Snow)
.ThenByDescending(s=>s.DrStartOnSchedule)
.ThenByDescending(s=>s.StartTn)
.ThenByDescending(s => s.WaitingOnSchedule)
.ThenBy(s=>(s.WaitingOnSchedule==Null)?s.Name:s.WaitingOnSchedule)
.ToList<MonitorModel>();
return sortList;
Реализуйте для вашего класса интерфейс IComparable<T>, метод которого и будет осуществлять нужную логику. В итоге при попытке сортировки через LINQ он будет использовать ваш метод
Апостиль в Лос-Анджелесе без лишних нервов и бумажной волокиты
Основные этапы разработки сайта для стоматологической клиники
Продвижение своими сайтами как стратегия роста и независимости