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); }
internal static async Task <IChannel> GetChannelAsync(int id) { var channel = await ChannelAndGroupInfo.GetChannelAsync(id); if (channel.Success) { return(channel.Result); } return(null); }
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); }
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); }
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); }
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); }