public async Task <SeriesTimerInfo> GetSeriesTimerInfo(SeriesTimerInfoDto dto, bool isNew, LiveTvManager liveTv, CancellationToken cancellationToken) { var info = new SeriesTimerInfo { Overview = dto.Overview, EndDate = dto.EndDate, Name = dto.Name, StartDate = dto.StartDate, PrePaddingSeconds = dto.PrePaddingSeconds, PostPaddingSeconds = dto.PostPaddingSeconds, IsPostPaddingRequired = dto.IsPostPaddingRequired, IsPrePaddingRequired = dto.IsPrePaddingRequired, Days = dto.Days.ToList(), Priority = dto.Priority, RecordAnyChannel = dto.RecordAnyChannel, RecordAnyTime = dto.RecordAnyTime, SkipEpisodesInLibrary = dto.SkipEpisodesInLibrary, KeepUpTo = dto.KeepUpTo, KeepUntil = dto.KeepUntil, RecordNewOnly = dto.RecordNewOnly, ProgramId = dto.ExternalProgramId, ChannelId = dto.ExternalChannelId, Id = dto.ExternalId }; // Convert internal server id's to external tv provider id's if (!isNew && !string.IsNullOrEmpty(dto.Id) && string.IsNullOrEmpty(info.Id)) { var timer = await liveTv.GetSeriesTimer(dto.Id, cancellationToken).ConfigureAwait(false); info.Id = timer.ExternalId; } if (!dto.ChannelId.Equals(Guid.Empty) && string.IsNullOrEmpty(info.ChannelId)) { var channel = _libraryManager.GetItemById(dto.ChannelId); if (channel != null) { info.ChannelId = channel.ExternalId; } } if (!string.IsNullOrEmpty(dto.ProgramId) && string.IsNullOrEmpty(info.ProgramId)) { var program = _libraryManager.GetItemById(dto.ProgramId); if (program != null) { info.ProgramId = program.ExternalId; } } return(info); }
private async Task CreateSeriesView() { _originalTimer = await SelectedSeries.Clone(); _scheduledLoaded = false; _recordingsLoaded = false; foreach (var day in SelectedSeries.Days) { var dayOfWeek = DaysOfWeekList.FirstOrDefault(x => x.DayOfWeek == day); if (dayOfWeek != null) { dayOfWeek.IsSelected = true; } } }
public SeriesTimerInfoDto GetSeriesTimerInfoDto(SeriesTimerInfo info, ILiveTvService service, string channelName) { var dto = new SeriesTimerInfoDto { Id = GetInternalSeriesTimerId(info.Id).ToString("N"), Overview = info.Overview, EndDate = info.EndDate, Name = info.Name, StartDate = info.StartDate, ExternalId = info.Id, PrePaddingSeconds = info.PrePaddingSeconds, PostPaddingSeconds = info.PostPaddingSeconds, IsPostPaddingRequired = info.IsPostPaddingRequired, IsPrePaddingRequired = info.IsPrePaddingRequired, Days = info.Days.ToArray(), Priority = info.Priority, RecordAnyChannel = info.RecordAnyChannel, RecordAnyTime = info.RecordAnyTime, SkipEpisodesInLibrary = info.SkipEpisodesInLibrary, KeepUpTo = info.KeepUpTo, KeepUntil = info.KeepUntil, RecordNewOnly = info.RecordNewOnly, ExternalChannelId = info.ChannelId, ExternalProgramId = info.ProgramId, ServiceName = service.Name, ChannelName = channelName, ServerId = _appHost.SystemId }; if (!string.IsNullOrEmpty(info.ChannelId)) { dto.ChannelId = GetInternalChannelId(service.Name, info.ChannelId); } if (!string.IsNullOrEmpty(info.ProgramId)) { dto.ProgramId = GetInternalProgramId(info.ProgramId).ToString("N"); } dto.DayPattern = info.Days == null ? null : GetDayPattern(info.Days.ToArray()); FillImages(dto, info.Name, info.SeriesId); return(dto); }
public SeriesTimerInfoDto GetSeriesTimerInfoDto(SeriesTimerInfo info, ILiveTvService service, string channelName) { var dto = new SeriesTimerInfoDto { Id = GetInternalSeriesTimerId(service.Name, info.Id).ToString("N"), Overview = info.Overview, EndDate = info.EndDate, Name = info.Name, StartDate = info.StartDate, ExternalId = info.Id, PrePaddingSeconds = info.PrePaddingSeconds, PostPaddingSeconds = info.PostPaddingSeconds, IsPostPaddingRequired = info.IsPostPaddingRequired, IsPrePaddingRequired = info.IsPrePaddingRequired, Days = info.Days, Priority = info.Priority, RecordAnyChannel = info.RecordAnyChannel, RecordAnyTime = info.RecordAnyTime, RecordNewOnly = info.RecordNewOnly, ExternalChannelId = info.ChannelId, ExternalProgramId = info.ProgramId, ServiceName = service.Name, ChannelName = channelName }; if (!string.IsNullOrEmpty(info.ChannelId)) { dto.ChannelId = GetInternalChannelId(service.Name, info.ChannelId).ToString("N"); } if (!string.IsNullOrEmpty(info.ProgramId)) { dto.ProgramId = GetInternalProgramId(service.Name, info.ProgramId).ToString("N"); } dto.DayPattern = info.Days == null ? null : GetDayPattern(info.Days); return(dto); }
private void FillImages(SeriesTimerInfoDto dto, string seriesName, string programSeriesId) { var librarySeries = _libraryManager.GetItemList(new InternalItemsQuery { IncludeItemTypes = new string[] { typeof(Series).Name }, Name = seriesName, Limit = 1, ImageTypes = new ImageType[] { ImageType.Thumb }, DtoOptions = new DtoOptions(false) }).FirstOrDefault(); if (librarySeries != null) { var image = librarySeries.GetImageInfo(ImageType.Thumb, 0); if (image != null) { try { dto.ParentThumbImageTag = _imageProcessor.GetImageCacheTag(librarySeries, image); dto.ParentThumbItemId = librarySeries.Id.ToString("N"); } catch (Exception ex) { _logger.LogError(ex, "Error"); } } image = librarySeries.GetImageInfo(ImageType.Backdrop, 0); if (image != null) { try { dto.ParentBackdropImageTags = new string[] { _imageProcessor.GetImageCacheTag(librarySeries, image) }; dto.ParentBackdropItemId = librarySeries.Id.ToString("N"); } catch (Exception ex) { _logger.LogError(ex, "Error"); } } } var program = _libraryManager.GetItemList(new InternalItemsQuery { IncludeItemTypes = new string[] { typeof(Series).Name }, Name = seriesName, Limit = 1, ImageTypes = new ImageType[] { ImageType.Primary }, DtoOptions = new DtoOptions(false) }).FirstOrDefault(); if (program == null) { program = _libraryManager.GetItemList(new InternalItemsQuery { IncludeItemTypes = new string[] { typeof(LiveTvProgram).Name }, ExternalSeriesId = programSeriesId, Limit = 1, ImageTypes = new ImageType[] { ImageType.Primary }, DtoOptions = new DtoOptions(false), Name = string.IsNullOrEmpty(programSeriesId) ? seriesName : null }).FirstOrDefault(); } if (program != null) { var image = program.GetImageInfo(ImageType.Primary, 0); if (image != null) { try { dto.ParentPrimaryImageTag = _imageProcessor.GetImageCacheTag(program, image); dto.ParentPrimaryImageItemId = program.Id.ToString("N"); } catch (Exception ex) { _logger.LogDebug(ex, "GetImageCacheTag raised an exception in LiveTvDtoService.FillImages."); } } if (dto.ParentBackdropImageTags == null || dto.ParentBackdropImageTags.Length == 0) { image = program.GetImageInfo(ImageType.Backdrop, 0); if (image != null) { try { dto.ParentBackdropImageTags = new[] { _imageProcessor.GetImageCacheTag(program, image) }; dto.ParentBackdropItemId = program.Id.ToString("N"); } catch (Exception ex) { _logger.LogError(ex, "Error"); } } } } }
private void FillImages(SeriesTimerInfoDto dto, string seriesName, string programSeriesId) { var librarySeries = _libraryManager.GetItemList(new InternalItemsQuery { IncludeItemTypes = new string[] { typeof(Series).Name }, Name = seriesName, Limit = 1, ImageTypes = new ImageType[] { ImageType.Thumb }, DtoOptions = new DtoOptions { Fields = new List <MediaBrowser.Model.Querying.ItemFields>() } }).FirstOrDefault(); if (librarySeries != null) { var image = librarySeries.GetImageInfo(ImageType.Thumb, 0); if (image != null) { try { dto.ParentThumbImageTag = _imageProcessor.GetImageCacheTag(librarySeries, image); dto.ParentThumbItemId = librarySeries.Id.ToString("N"); } catch (Exception ex) { } } image = librarySeries.GetImageInfo(ImageType.Backdrop, 0); if (image != null) { try { dto.ParentBackdropImageTags = new List <string> { _imageProcessor.GetImageCacheTag(librarySeries, image) }; dto.ParentBackdropItemId = librarySeries.Id.ToString("N"); } catch (Exception ex) { } } } if (!string.IsNullOrWhiteSpace(programSeriesId)) { var program = _libraryManager.GetItemList(new InternalItemsQuery { IncludeItemTypes = new string[] { typeof(Series).Name }, Name = seriesName, Limit = 1, ImageTypes = new ImageType[] { ImageType.Primary }, DtoOptions = new DtoOptions { Fields = new List <MediaBrowser.Model.Querying.ItemFields>() } }).FirstOrDefault() ?? _libraryManager.GetItemList(new InternalItemsQuery { IncludeItemTypes = new string[] { typeof(LiveTvProgram).Name }, ExternalSeriesId = programSeriesId, Limit = 1, ImageTypes = new ImageType[] { ImageType.Primary }, DtoOptions = new DtoOptions { Fields = new List <MediaBrowser.Model.Querying.ItemFields>() } }).FirstOrDefault(); if (program != null) { var image = program.GetImageInfo(ImageType.Primary, 0); if (image != null) { try { dto.ParentPrimaryImageTag = _imageProcessor.GetImageCacheTag(program, image); dto.ParentPrimaryImageItemId = program.Id.ToString("N"); } catch (Exception ex) { } } if (dto.ParentBackdropImageTags == null || dto.ParentBackdropImageTags.Count == 0) { image = program.GetImageInfo(ImageType.Backdrop, 0); if (image != null) { try { dto.ParentBackdropImageTags = new List <string> { _imageProcessor.GetImageCacheTag(program, image) }; dto.ParentBackdropItemId = program.Id.ToString("N"); } catch (Exception ex) { } } } } } }
public static async Task <bool> CancelSeries(SeriesTimerInfoDto selectedSeries, INavigationService navigationService, IApiClient apiClient, ILog log, bool goBack) { return(await CancelSeries(selectedSeries.Id, navigationService, apiClient, log, goBack)); }
public SeriesTimerInfoDto GetSeriesTimerInfoDto(SeriesTimerInfo info, ILiveTvService service, string channelName) { var dto = new SeriesTimerInfoDto { Id = GetInternalSeriesTimerId(service.Name, info.Id).ToString("N"), Overview = info.Overview, EndDate = info.EndDate, Name = info.Name, StartDate = info.StartDate, ExternalId = info.Id, PrePaddingSeconds = info.PrePaddingSeconds, PostPaddingSeconds = info.PostPaddingSeconds, IsPostPaddingRequired = info.IsPostPaddingRequired, IsPrePaddingRequired = info.IsPrePaddingRequired, Days = info.Days, Priority = info.Priority, RecordAnyChannel = info.RecordAnyChannel, RecordAnyTime = info.RecordAnyTime, SkipEpisodesInLibrary = info.SkipEpisodesInLibrary, KeepUpTo = info.KeepUpTo, KeepUntil = info.KeepUntil, RecordNewOnly = info.RecordNewOnly, ExternalChannelId = info.ChannelId, ExternalProgramId = info.ProgramId, ServiceName = service.Name, ChannelName = channelName, ServerId = _appHost.SystemId }; if (!string.IsNullOrEmpty(info.ChannelId)) { dto.ChannelId = GetInternalChannelId(service.Name, info.ChannelId).ToString("N"); } if (!string.IsNullOrEmpty(info.ProgramId)) { dto.ProgramId = GetInternalProgramId(service.Name, info.ProgramId).ToString("N"); } dto.DayPattern = info.Days == null ? null : GetDayPattern(info.Days); if (!string.IsNullOrWhiteSpace(info.SeriesId)) { var program = _libraryManager.GetItemList(new InternalItemsQuery { IncludeItemTypes = new string[] { typeof(LiveTvProgram).Name }, ExternalSeriesId = info.SeriesId, Limit = 1, ImageTypes = new ImageType[] { ImageType.Primary } }).FirstOrDefault(); if (program != null) { var image = program.GetImageInfo(ImageType.Primary, 0); if (image != null) { try { dto.ParentPrimaryImageTag = _imageProcessor.GetImageCacheTag(program, image); dto.ParentPrimaryImageItemId = program.Id.ToString("N"); } catch (Exception ex) { } } } } return(dto); }