* upgrade sdk * fix warnings in ersatztv.ffmpeg * fix warnings in ersatztv.core * fix warnings in ersatztv.infrastructure * fix warnings in ersatztv.application * disable analysis for migrations projects * fix warnings in ersatztv.scanner * fix warnings in ersatztv * upgrade project framework * update github actions and dockerfiles
24 lines
720 B
C#
24 lines
720 B
C#
namespace ErsatzTV.Core.Scheduling;
|
|
|
|
public static class MultiCollectionGrouper
|
|
{
|
|
public static List<GroupedMediaItem> GroupMediaItems(IEnumerable<CollectionWithItems> collections)
|
|
{
|
|
var result = new List<GroupedMediaItem>();
|
|
|
|
foreach (CollectionWithItems collection in collections.Where(collection => collection.MediaItems.Count != 0))
|
|
{
|
|
if (collection.ScheduleAsGroup)
|
|
{
|
|
result.Add(new MultiCollectionGroup(collection));
|
|
}
|
|
else
|
|
{
|
|
result.AddRange(collection.MediaItems.Map(i => new GroupedMediaItem { First = i }));
|
|
}
|
|
}
|
|
|
|
return result.Distinct().ToList();
|
|
}
|
|
}
|