|
|
@ -15,11 +15,14 @@ public class CheckForOverlappingPlayoutItemsHandler( |
|
|
|
|
|
|
|
|
|
|
|
bool hasConflict = await dbContext.PlayoutItems |
|
|
|
bool hasConflict = await dbContext.PlayoutItems |
|
|
|
.Where(pi => pi.PlayoutId == request.PlayoutId) |
|
|
|
.Where(pi => pi.PlayoutId == request.PlayoutId) |
|
|
|
.AnyAsync(a => dbContext.PlayoutItems |
|
|
|
.AnyAsync( |
|
|
|
.Any(b => |
|
|
|
a => dbContext.PlayoutItems |
|
|
|
a.Id < b.Id && |
|
|
|
.Where(b => b.PlayoutId == a.PlayoutId) |
|
|
|
a.Start < b.Finish && |
|
|
|
.Any( |
|
|
|
a.Finish > b.Start), |
|
|
|
b => |
|
|
|
|
|
|
|
a.Id < b.Id && |
|
|
|
|
|
|
|
a.Start < b.Finish && |
|
|
|
|
|
|
|
a.Finish > b.Start), |
|
|
|
cancellationToken); |
|
|
|
cancellationToken); |
|
|
|
|
|
|
|
|
|
|
|
if (hasConflict) |
|
|
|
if (hasConflict) |
|
|
|