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
{