@page "/playouts/classic/{Id:int}" @using ErsatzTV.Application.Channels @using ErsatzTV.Application.Scheduling @implements IDisposable @inject NavigationManager NavigationManager @inject ISnackbar Snackbar @inject IMediator Mediator @inject IEntityLocker EntityLocker;
@_channelName - Classic Playout
Alternate Schedules
@if (_playoutMode is ChannelPlayoutMode.OnDemand) { Edit Alternate Schedules } else { Edit Alternate Schedules }
Maintenance
Playout Items and History
Erase Items and History
@code { private CancellationTokenSource _cts; private ChannelPlayoutMode _playoutMode; [Parameter] public int Id { get; set; } private string _channelName; public void Dispose() { _cts?.Cancel(); _cts?.Dispose(); } protected override async Task OnParametersSetAsync() { _cts?.Cancel(); _cts?.Dispose(); _cts = new CancellationTokenSource(); var token = _cts.Token; try { Option maybeChannel = await Mediator.Send(new GetChannelByPlayoutId(Id), token); if (maybeChannel.IsNone) { NavigationManager.NavigateTo("playouts"); return; } foreach (ChannelViewModel channel in maybeChannel) { _channelName = channel.Name; _playoutMode = channel.PlayoutMode; } } catch (OperationCanceledException) { // do nothing } } private async Task EraseItemsAndHistory() { await Mediator.Send(new ErasePlayoutHistory(Id), _cts.Token); Snackbar.Add("Erased playout items and history", Severity.Info); } }