public static async Task <IList <WebUser> > ProcessAsync(IOwinContext context) { if (!ServiceRegistration.IsRegistered <ITvProvider>()) { throw new BadRequestException("GetActiveUsers: ITvProvider not found"); } var cards = await TVAccess.GetVirtualCardsAsync(context); return(cards.Select(card => new WebUser { ChannelId = card.User.IdChannel, Name = card.User.Name, CardId = card.User.CardId, HeartBeat = card.User.HeartBeat, IsAdmin = card.User.IsAdmin, SubChannel = card.User.SubChannel, TvStoppedReason = (int)card.User.TvStoppedReason, }).ToList()); }
public static async Task <IList <WebVirtualCard> > ProcessAsync(IOwinContext context) { if (!ServiceRegistration.IsRegistered <ITvProvider>()) { throw new BadRequestException("GetActiveCards: ITvProvider not found"); } var cards = await TVAccess.GetVirtualCardsAsync(context); List <WebVirtualCard> output = new List <WebVirtualCard>(); foreach (var card in cards) { output.Add(new WebVirtualCard { BitRateMode = (int)card.BitRateMode, ChannelName = card.ChannelName, Device = card.Device, Enabled = card.Enabled, GetTimeshiftStoppedReason = (int)card.GetTimeshiftStoppedReason, GrabTeletext = card.GrabTeletext, HasTeletext = card.HasTeletext, Id = card.Id, ChannelId = card.ChannelId, IsGrabbingEpg = card.IsGrabbingEpg, IsRecording = card.IsRecording, IsScanning = card.IsScanning, IsScrambled = card.IsScrambled, IsTimeShifting = card.IsTimeShifting, IsTunerLocked = card.IsTunerLocked, MaxChannel = card.MaxChannel, MinChannel = card.MinChannel, Name = card.Name, QualityType = (int)card.QualityType, RecordingFileName = card.RecordingFileName, RecordingFolder = card.RecordingFolder, RecordingFormat = card.RecordingFormat, RecordingScheduleId = card.RecordingScheduleId, RecordingStarted = card.RecordingStarted != DateTime.MinValue ? card.RecordingStarted : new DateTime(2000, 1, 1), RemoteServer = card.RemoteServer, RTSPUrl = card.RTSPUrl, SignalLevel = card.SignalLevel, SignalQuality = card.SignalQuality, TimeShiftFileName = card.TimeShiftFileName, TimeShiftFolder = card.TimeShiftFolder, TimeShiftStarted = card.TimeShiftStarted != DateTime.MinValue ? card.TimeShiftStarted : new DateTime(2000, 1, 1), Type = (WebCardType)card.Type, User = card.User != null ? new WebUser { ChannelId = card.User.IdChannel, Name = card.User.Name, CardId = card.User.CardId, HeartBeat = card.User.HeartBeat, IsAdmin = card.User.IsAdmin, SubChannel = card.User.SubChannel, TvStoppedReason = (int)card.User.TvStoppedReason } : null }); } return(output); }