private Season AddVirtualSeason(int season, Series series) { string seasonName; if (season == 0) { seasonName = _libraryManager.GetLibraryOptions(series).SeasonZeroDisplayName; } else { seasonName = string.Format( CultureInfo.InvariantCulture, _localization.GetLocalizedString("NameSeasonNumber"), season.ToString(CultureInfo.InvariantCulture)); } _logger.LogInformation("Creating Season {SeasonName} entry for {SeriesName}", seasonName, series.Name); var newSeason = new Season { Name = seasonName, IndexNumber = season, Id = _libraryManager.GetNewItemId( series.Id + season.ToString(CultureInfo.InvariantCulture) + seasonName, typeof(Season)), IsVirtualItem = true, SeriesId = series.Id, SeriesName = series.Name, SeriesPresentationUniqueKey = series.GetPresentationUniqueKey() }; series.AddChild(newSeason, CancellationToken.None); return(newSeason); }
/// <summary> /// Adds the season. /// </summary> /// <param name="series">The series.</param> /// <param name="seasonNumber">The season number.</param> /// <param name="cancellationToken">The cancellation token.</param> /// <returns>Task{Season}.</returns> private async Task<Season> AddSeason(Series series, int seasonNumber, CancellationToken cancellationToken) { _logger.Info("Creating Season {0} entry for {1}", seasonNumber, series.Name); var name = seasonNumber == 0 ? _config.Configuration.SeasonZeroDisplayName : string.Format("Season {0}", seasonNumber.ToString(UsCulture)); var season = new Season { Name = name, IndexNumber = seasonNumber, Parent = series, DisplayMediaType = typeof(Season).Name, Id = (series.Id + seasonNumber.ToString(UsCulture) + name).GetMBId(typeof(Season)) }; await series.AddChild(season, cancellationToken).ConfigureAwait(false); await season.RefreshMetadata(new MetadataRefreshOptions(), cancellationToken).ConfigureAwait(false); return season; }
/// <summary> /// Adds the season. /// </summary> /// <param name="series">The series.</param> /// <param name="seasonNumber">The season number.</param> /// <param name="cancellationToken">The cancellation token.</param> /// <returns>Task{Season}.</returns> public async Task<Season> AddSeason(Series series, int? seasonNumber, CancellationToken cancellationToken) { var seasonName = seasonNumber == 0 ? _config.Configuration.SeasonZeroDisplayName : (seasonNumber.HasValue ? string.Format(_localization.GetLocalizedString("NameSeasonNumber"), seasonNumber.Value.ToString(_usCulture)) : _localization.GetLocalizedString("NameSeasonUnknown")); _logger.Info("Creating Season {0} entry for {1}", seasonName, series.Name); var season = new Season { Name = seasonName, IndexNumber = seasonNumber, Id = (series.Id + (seasonNumber ?? -1).ToString(_usCulture) + seasonName).GetMBId(typeof(Season)) }; season.SetParent(series); await series.AddChild(season, cancellationToken).ConfigureAwait(false); await season.RefreshMetadata(new MetadataRefreshOptions(_fileSystem), cancellationToken).ConfigureAwait(false); return season; }