Пример #1
0
        internal static async Task <IList <IChannel> > GetGroupChannelsAsync(IOwinContext context, int?id = null)
        {
            List <IChannelGroup> channelGroups = new List <IChannelGroup>();

            if (id == null)
            {
                channelGroups.AddRange(await GetGroupsAsync(context));
            }
            else
            {
                channelGroups.Add(new ChannelGroup()
                {
                    ChannelGroupId = id.Value
                });
            }

            List <IChannel> groupChannels = new List <IChannel>();

            foreach (var group in channelGroups)
            {
                // get channel for group
                var channels = await ChannelAndGroupInfo.GetChannelsAsync(group);

                if (channels.Success)
                {
                    groupChannels.AddRange(channels.Result);
                }
            }
            return(groupChannels);
        }
Пример #2
0
        internal static async Task <IChannel> GetChannelAsync(int id)
        {
            var channel = await ChannelAndGroupInfo.GetChannelAsync(id);

            if (channel.Success)
            {
                return(channel.Result);
            }
            return(null);
        }
Пример #3
0
        internal static async Task <IList <IChannelGroup> > GetGroupsAsync(IOwinContext context)
        {
            Guid?user = ResourceAccessUtils.GetUser(context);
            List <IChannelGroup> groups = new List <IChannelGroup>();
            var channelGroups           = await ChannelAndGroupInfo.GetChannelGroupsAsync();

            if (channelGroups.Success)
            {
                groups.AddRange(channelGroups.Result);
            }
            ResourceAccessUtils.FilterGroups(user, groups);
            return(groups);
        }
Пример #4
0
        public bool WatchRecordingFromBeginning(IProgram program)
        {
            string fileOrStream;

            if (ScheduleControl.GetRecordingFileOrStream(program, out fileOrStream))
            {
                IChannel channel;
                if (ChannelAndGroupInfo.GetChannel(program.ChannelId, out channel))
                {
                    MediaItem recordig = SlimTvMediaItemBuilder.CreateRecordingMediaItem(0, fileOrStream, program, channel);
                    PlayItemsModel.CheckQueryPlayAction(recordig);
                    return(true);
                }
            }
            return(false);
        }
Пример #5
0
        public bool WatchRecordingFromBeginning(IProgram program)
        {
            string fileOrStream;

            if (ScheduleControl.GetRecordingFileOrStream(program, out fileOrStream))
            {
                IChannel channel;
                if (ChannelAndGroupInfo.GetChannel(program.ChannelId, out channel))
                {
                    MediaItem recordig = SlimTvMediaItemBuilder.CreateRecordingMediaItem(0, fileOrStream, program, channel);
                    PlayerContextConcurrencyMode playMode = GetMatchingPlayMode();
                    PlayItemsModel.PlayOrEnqueueItem(recordig, true, playMode);
                    return(true);
                }
            }
            return(false);
        }
Пример #6
0
        public async Task <bool> WatchRecordingFromBeginningAsync(IProgram program)
        {
            var result = await ScheduleControl.GetRecordingFileOrStreamAsync(program);

            if (result.Success)
            {
                string fileOrStream = result.Result;

                var channelResult = await ChannelAndGroupInfo.GetChannelAsync(program.ChannelId);

                if (channelResult.Success)
                {
                    MediaItem recordig = SlimTvMediaItemBuilder.CreateRecordingMediaItem(0, fileOrStream, program, channelResult.Result);
                    PlayItemsModel.CheckQueryPlayAction(recordig);
                    return(true);
                }
            }
            return(false);
        }