using System.Collections.Generic; using System.Linq; using ErsatzTV.Application.MediaCollections; using ErsatzTV.Core.Domain; namespace ErsatzTV.Controllers.Api.Requests; public record MultiCollectionItemRequest( int? CollectionId, int? SmartCollectionId, bool ScheduleAsGroup, PlaybackOrder PlaybackOrder); public record CreateMultiCollectionRequest(string Name, List Items) { public CreateMultiCollection ToCommand() => new( Name, (Items ?? new List()) .Select(i => new CreateMultiCollectionItem( i.CollectionId, i.SmartCollectionId, i.ScheduleAsGroup, i.PlaybackOrder)) .ToList()); }