Esempio n. 1
0
        public override async Task <AsyncResult <IList <IChannel> > > GetChannelsAsync(IChannelGroup group)
        {
            await _initComplete.Task;

            List <IChannel> channels;

            if (group.ChannelGroupId < 0)
            {
                var radioGroup    = RadioChannelGroup.Retrieve(-group.ChannelGroupId);
                var radioChannels = radioGroup.ReferringRadioGroupMap().OrderBy(rgm => rgm.SortOrder).Select(rgm => rgm.ReferencedChannel());
                channels = radioChannels
                           .Where(c => c.VisibleInGuide)
                           .Select(c => c.ToChannel())
                           .Where(c => c != null)
                           .ToList();
            }
            else
            {
                channels = _tvBusiness.GetChannelsInGroup(TvDatabase.ChannelGroup.Retrieve(group.ChannelGroupId))
                           .Where(c => c != null)
                           // Bug? SortOrder contains logical channel number, not the group sort order?
                           // .OrderBy(c => c.SortOrder)
                           .Where(c => c.VisibleInGuide)
                           .Select(c => c.ToChannel())
                           .ToList();
            }
            return(new AsyncResult <IList <IChannel> >(true, channels));
        }
Esempio n. 2
0
        public bool GetChannels(IChannelGroup group, out IList <IChannel> channels)
        {
#if TVE3
            channels = _tvBusiness.GetChannelsInGroup(TvDatabase.ChannelGroup.Retrieve(group.ChannelGroupId))
                       // Bug? SortOrder contains logical channel number, not the group sort order?
                       // .OrderBy(c => c.SortOrder)
                       .Where(c => c.VisibleInGuide)
                       .Select(c => c.ToChannel())
                       .ToList();
#else
            IChannelGroupService channelGroupService = GlobalServiceProvider.Instance.Get <IChannelGroupService>();
            channels = channelGroupService.GetChannelGroup(group.ChannelGroupId).GroupMaps
                       .Where(groupMap => groupMap.Channel.VisibleInGuide)
                       .OrderBy(groupMap => groupMap.SortOrder)
                       .Select(groupMap => groupMap.Channel.ToChannel())
                       .ToList();
#endif
            return(true);
        }
Esempio n. 3
0
 public override bool GetChannels(IChannelGroup group, out IList <IChannel> channels)
 {
     if (group.ChannelGroupId < 0)
     {
         var radioGroup    = RadioChannelGroup.Retrieve(-group.ChannelGroupId);
         var radioChannels = radioGroup.ReferringRadioGroupMap().OrderBy(rgm => rgm.SortOrder).Select(rgm => rgm.ReferencedChannel());
         channels = radioChannels
                    .Where(c => c.VisibleInGuide)
                    .Select(c => c.ToChannel())
                    .ToList();
     }
     else
     {
         channels = _tvBusiness.GetChannelsInGroup(TvDatabase.ChannelGroup.Retrieve(group.ChannelGroupId))
                    // Bug? SortOrder contains logical channel number, not the group sort order?
                    // .OrderBy(c => c.SortOrder)
                    .Where(c => c.VisibleInGuide)
                    .Select(c => c.ToChannel())
                    .ToList();
     }
     return(true);
 }