* add music videos library * add music video tables * first pass at music video library scan * support music videos in playouts * display music videos in search results and collections * fix music video thumbnails * remove some obsolete fields
23 lines
918 B
C#
23 lines
918 B
C#
using ErsatzTV.Core.Domain;
|
|
|
|
namespace ErsatzTV.Application.MediaItems
|
|
{
|
|
internal static class Mapper
|
|
{
|
|
internal static MediaItemViewModel ProjectToViewModel(MediaItem mediaItem) =>
|
|
new(mediaItem.Id, mediaItem.LibraryPathId);
|
|
|
|
public static NamedMediaItemViewModel ProjectToViewModel(Show show) =>
|
|
new(show.Id, show.ShowMetadata.HeadOrNone().Map(sm => $"{sm?.Title} ({sm?.Year})").IfNone("???"));
|
|
|
|
public static NamedMediaItemViewModel ProjectToViewModel(Season season) =>
|
|
new(season.Id, $"{ShowTitle(season)} ({SeasonDescription(season)})");
|
|
|
|
private static string ShowTitle(Season season) =>
|
|
season.Show.ShowMetadata.HeadOrNone().Map(sm => sm.Title).IfNone("???");
|
|
|
|
private static string SeasonDescription(Season season) =>
|
|
season.SeasonNumber == 0 ? "Specials" : $"Season {season.SeasonNumber}";
|
|
}
|
|
}
|