diff --git a/ErsatzTV.Application/ProgramSchedules/Commands/CopyProgramScheduleHandler.cs b/ErsatzTV.Application/ProgramSchedules/Commands/CopyProgramScheduleHandler.cs index 2c988cd99..7b6cabd0d 100644 --- a/ErsatzTV.Application/ProgramSchedules/Commands/CopyProgramScheduleHandler.cs +++ b/ErsatzTV.Application/ProgramSchedules/Commands/CopyProgramScheduleHandler.cs @@ -49,6 +49,13 @@ public class DetachEntity(dbContext, item); item.ProgramScheduleId = 0; item.ProgramSchedule = schedule; + + foreach (ProgramScheduleItemWatermark watermark in item.ProgramScheduleItemWatermarks) + { + DetachEntity(dbContext, watermark); + watermark.ProgramScheduleItemId = 0; + watermark.ProgramScheduleItem = item; + } } await dbContext.ProgramSchedules.AddAsync(schedule, cancellationToken); @@ -71,6 +78,7 @@ public class dbContext.ProgramSchedules .AsNoTracking() .Include(ps => ps.Items) + .ThenInclude(ps => ps.ProgramScheduleItemWatermarks) .SelectOneAsync(p => p.Id, p => p.Id == request.ProgramScheduleId) .Map(o => o.ToValidation("Schedule does not exist."));