У меня есть класс, который представляет собой сдвиг, который работник может работать:Tricky Linq Group по для диапазонов времени
public class Shift {
public int Id { get; set;}
public DateTime Start {get;set;}
public DateTime End { get; set;}
public DayOfWeek Day { get; set;}
}
И у меня есть список этих изменений для одного сотрудника:
List<Shift> myShifts;
Я знаю, что могу получить группу сдвигов от дня со следующим утверждением: LinQ
var shiftsByDay = from a in myShift
group a by a.Day;
Мой вопрос: Для каждого дня, как я могу получить все смены, которые перекрываются, в отдельных группах, без двойного подсчета?
С перекрывающимся сдвигом, где либо начало, либо время окончания перекрываются с другими сдвигами начала или окончания.
Я хотел бы иметь возможность сделать это с помощью linq, если это вообще возможно.
Спасибо, госпожа, попробуйте! – Alan