From 955a80a65a7111cfb0b63955879991a002af121c Mon Sep 17 00:00:00 2001 From: Jason Dove Date: Sun, 21 Feb 2021 15:25:29 -0600 Subject: [PATCH] rearrange order of schedule items --- ErsatzTV/Pages/ScheduleItemsEditor.razor | 41 +++++++++++++++++-- .../ProgramScheduleItemEditViewModel.cs | 9 +++- 2 files changed, 46 insertions(+), 4 deletions(-) diff --git a/ErsatzTV/Pages/ScheduleItemsEditor.razor b/ErsatzTV/Pages/ScheduleItemsEditor.razor index 41a231f37..ceb6319e2 100644 --- a/ErsatzTV/Pages/ScheduleItemsEditor.razor +++ b/ErsatzTV/Pages/ScheduleItemsEditor.razor @@ -20,12 +20,16 @@ + + Start Time Media Collection Playout Mode + + @@ -48,7 +52,21 @@ - + + + + + + + + + + @@ -170,8 +188,7 @@ CollectionType = item.CollectionType, MediaCollection = item.MediaCollection, TelevisionShow = item.TelevisionShow, - TelevisionSeason = item.TelevisionSeason, - CollectionName = item.Name + TelevisionSeason = item.TelevisionSeason }; switch (item) @@ -208,6 +225,24 @@ _schedule.Items.Remove(item); } + private void MoveItemUp(ProgramScheduleItemEditViewModel item) + { + // swap with lower index + ProgramScheduleItemEditViewModel toSwap = _schedule.Items.OrderByDescending(x => x.Index).First(x => x.Index < item.Index); + int temp = toSwap.Index; + toSwap.Index = item.Index; + item.Index = temp; + } + + private void MoveItemDown(ProgramScheduleItemEditViewModel item) + { + // swap with higher index + ProgramScheduleItemEditViewModel toSwap = _schedule.Items.OrderBy(x => x.Index).First(x => x.Index > item.Index); + int temp = toSwap.Index; + toSwap.Index = item.Index; + item.Index = temp; + } + private Task> SearchMediaCollections(string value) => _mediaCollections.Filter(c => c.Name.Contains(value ?? string.Empty, StringComparison.OrdinalIgnoreCase)).AsTask(); diff --git a/ErsatzTV/ViewModels/ProgramScheduleItemEditViewModel.cs b/ErsatzTV/ViewModels/ProgramScheduleItemEditViewModel.cs index e3260cc8d..df6763558 100644 --- a/ErsatzTV/ViewModels/ProgramScheduleItemEditViewModel.cs +++ b/ErsatzTV/ViewModels/ProgramScheduleItemEditViewModel.cs @@ -61,7 +61,14 @@ namespace ErsatzTV.ViewModels public TelevisionShowViewModel TelevisionShow { get; set; } public TelevisionSeasonViewModel TelevisionSeason { get; set; } - public string CollectionName { get; set; } + public string CollectionName => CollectionType switch + { + ProgramScheduleItemCollectionType.Collection => MediaCollection?.Name, + ProgramScheduleItemCollectionType.TelevisionShow => $"{TelevisionShow?.Title} ({TelevisionShow?.Year})", + ProgramScheduleItemCollectionType.TelevisionSeason => + $"{TelevisionSeason?.Title} ({TelevisionSeason?.Plot})", + _ => string.Empty + }; public int? MultipleCount {