Browse Source

fix channel sorting (#54)

pull/57/head
Jason Dove 5 years ago committed by GitHub
parent
commit
54da3a3159
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
  1. 4
      ErsatzTV.Core/Iptv/ChannelGuide.cs
  2. 3
      ErsatzTV.Core/Iptv/ChannelPlaylist.cs
  3. 4
      ErsatzTV/Pages/Channels.razor

4
ErsatzTV.Core/Iptv/ChannelGuide.cs

@ -30,7 +30,7 @@ namespace ErsatzTV.Core.Iptv
xml.WriteStartElement("tv"); xml.WriteStartElement("tv");
xml.WriteAttributeString("generator-info-name", "ersatztv"); xml.WriteAttributeString("generator-info-name", "ersatztv");
foreach (Channel channel in _channels) foreach (Channel channel in _channels.OrderBy(c => c.Number))
{ {
xml.WriteStartElement("channel"); xml.WriteStartElement("channel");
xml.WriteAttributeString("id", channel.Number); xml.WriteAttributeString("id", channel.Number);
@ -53,7 +53,7 @@ namespace ErsatzTV.Core.Iptv
xml.WriteEndElement(); // channel xml.WriteEndElement(); // channel
} }
foreach (Channel channel in _channels) foreach (Channel channel in _channels.OrderBy(c => c.Number))
{ {
foreach (PlayoutItem playoutItem in channel.Playouts.Collect(p => p.Items).OrderBy(i => i.Start)) foreach (PlayoutItem playoutItem in channel.Playouts.Collect(p => p.Items).OrderBy(i => i.Start))
{ {

3
ErsatzTV.Core/Iptv/ChannelPlaylist.cs

@ -1,5 +1,6 @@
using System; using System;
using System.Collections.Generic; using System.Collections.Generic;
using System.Linq;
using System.Text; using System.Text;
using ErsatzTV.Core.Domain; using ErsatzTV.Core.Domain;
using static LanguageExt.Prelude; using static LanguageExt.Prelude;
@ -25,7 +26,7 @@ namespace ErsatzTV.Core.Iptv
var xmltv = $"{_scheme}://{_host}/iptv/xmltv.xml"; var xmltv = $"{_scheme}://{_host}/iptv/xmltv.xml";
sb.AppendLine($"#EXTM3U url-tvg=\"{xmltv}\" x-tvg-url=\"{xmltv}\""); sb.AppendLine($"#EXTM3U url-tvg=\"{xmltv}\" x-tvg-url=\"{xmltv}\"");
foreach (Channel channel in _channels) foreach (Channel channel in _channels.OrderBy(c => c.Number))
{ {
string logo = Optional(channel.Artwork).Flatten() string logo = Optional(channel.Artwork).Flatten()
.Filter(a => a.ArtworkKind == ArtworkKind.Logo) .Filter(a => a.ArtworkKind == ArtworkKind.Logo)

4
ErsatzTV/Pages/Channels.razor

@ -89,5 +89,7 @@
} }
} }
private async Task LoadChannelsAsync() => _channels = await Mediator.Send(new GetAllChannels()); private async Task LoadChannelsAsync() => _channels = await Mediator.Send(new GetAllChannels())
.Map(list => list.OrderBy(c => c.Number).ToList());
} }
Loading…
Cancel
Save