* add explicit warning for zero/invalid duration media items * set dateadded on plex media versions * add media stream table * save local media streams to db * save plex media streams to db * add preferred language settings (no validation) * use preferred language if possible * code cleanup * proper language code validation * force scan of all libraries to pull in media streams
24 lines
726 B
C#
24 lines
726 B
C#
using System.Linq;
|
|
using ErsatzTV.Core.Domain;
|
|
using static LanguageExt.Prelude;
|
|
|
|
namespace ErsatzTV.Application.Channels
|
|
{
|
|
internal static class Mapper
|
|
{
|
|
internal static ChannelViewModel ProjectToViewModel(Channel channel) =>
|
|
new(
|
|
channel.Id,
|
|
channel.Number,
|
|
channel.Name,
|
|
channel.FFmpegProfileId,
|
|
GetLogo(channel),
|
|
channel.PreferredLanguageCode,
|
|
channel.StreamingMode);
|
|
|
|
private static string GetLogo(Channel channel) =>
|
|
Optional(channel.Artwork.FirstOrDefault(a => a.ArtworkKind == ArtworkKind.Logo))
|
|
.Match(a => a.Path, string.Empty);
|
|
}
|
|
}
|