mirror of https://github.com/ErsatzTV/ErsatzTV.git
You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
29 lines
1018 B
29 lines
1018 B
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, |
|
channel.WatermarkId, |
|
channel.FallbackFillerId); |
|
|
|
private static string GetLogo(Channel channel) => |
|
Optional(channel.Artwork.FirstOrDefault(a => a.ArtworkKind == ArtworkKind.Logo)) |
|
.Match(a => a.Path, string.Empty); |
|
|
|
private static string GetWatermark(Channel channel) => |
|
Optional(channel.Artwork.FirstOrDefault(a => a.ArtworkKind == ArtworkKind.Watermark)) |
|
.Match(a => a.Path, string.Empty); |
|
} |
|
}
|
|
|