/// <summary> /// Adds the season. /// </summary> public async Task <Season> AddSeason(Series series, int?seasonNumber, bool isVirtualItem, CancellationToken cancellationToken) { var seasonName = seasonNumber == 0 ? _libraryManager.GetLibraryOptions(series).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 = _libraryManager.GetNewItemId((series.Id + (seasonNumber ?? -1).ToString(_usCulture) + seasonName), typeof(Season)), IsVirtualItem = isVirtualItem, SeriesId = series.Id, SeriesName = series.Name }; season.SetParent(series); series.AddChild(season, cancellationToken); await season.RefreshMetadata(new MetadataRefreshOptions(_fileSystem), 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> private 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, Parent = series, DisplayMediaType = typeof(Season).Name, Id = (series.Id + (seasonNumber ?? -1).ToString(UsCulture) + seasonName).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> public async Task <Season> AddSeason( Series series, int?seasonNumber, bool isVirtualItem, CancellationToken cancellationToken) { string seasonName; if (seasonNumber == null) { seasonName = _localization.GetLocalizedString("NameSeasonUnknown"); } else if (seasonNumber == 0) { seasonName = _libraryManager.GetLibraryOptions(series).SeasonZeroDisplayName; } else { seasonName = string.Format( CultureInfo.InvariantCulture, _localization.GetLocalizedString("NameSeasonNumber"), seasonNumber.Value); } _logger.LogInformation("Creating Season {0} entry for {1}", seasonName, series.Name); var season = new Season { Name = seasonName, IndexNumber = seasonNumber, Id = _libraryManager.GetNewItemId( series.Id + (seasonNumber ?? -1).ToString(CultureInfo.InvariantCulture) + seasonName, typeof(Season)), IsVirtualItem = isVirtualItem, SeriesId = series.Id, SeriesName = series.Name }; season.SetParent(series); series.AddChild(season, cancellationToken); await season.RefreshMetadata(new MetadataRefreshOptions(new DirectoryService(_fileSystem)), 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> 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); }