private void AddMoviesToCollection(IReadOnlyCollection <Movie> movies, string tmdbCollectionId, BoxSet boxSet) { int minimumNumberOfMovies = Plugin.Instance.PluginConfiguration.MinimumNumberOfMovies; if (movies.Count < minimumNumberOfMovies) { _logger.LogInformation("Minimum number of movies is {Count}, but there is/are only {MovieCount}: {MovieNames}", minimumNumberOfMovies, movies.Count, string.Join(", ", movies.Select(m => m.Name))); return; } // Create the box set if it doesn't exist, but don't add anything to it on creation if (boxSet == null) { var tmdbCollectionName = movies.First().TmdbCollectionName; if (Plugin.Instance.PluginConfiguration.StripCollectionKeywords) { tmdbCollectionName = tmdbCollectionName.Replace("Collection", String.Empty).Trim(); } _logger.LogInformation("Box Set for {TmdbCollectionName} ({TmdbCollectionId}) does not exist. Creating it now!", tmdbCollectionName, tmdbCollectionId); boxSet = _collectionManager.CreateCollection(new CollectionCreationOptions { Name = tmdbCollectionName, ProviderIds = new Dictionary <string, string> { { MetadataProviders.Tmdb.ToString(), tmdbCollectionId } } }); } var itemsToAdd = movies .Where(m => !boxSet.ContainsLinkedChildByItemId(m.Id)) .Select(m => m.Id) .ToList(); if (!itemsToAdd.Any()) { _logger.LogInformation("The movies {MovieNames} is/are already in their proper box set, {BoxSetName}", string.Join(", ", movies.Select(m => m.Name)), boxSet.Name); return; } _collectionManager.AddToCollection(boxSet.Id, itemsToAdd); }
public void Post(AddToCollection request) { var task = _collectionManager.AddToCollection(request.Id, request.Ids.Split(',').Select(i => new Guid(i))); Task.WaitAll(task); }
public void Post(AddToCollection request) { _collectionManager.AddToCollection(new Guid(request.Id), SplitValue(request.Ids, ',')); }
public void Post(AddToCollection request) { var task = _collectionManager.AddToCollection(new Guid(request.Id), SplitValue(request.Ids, ',')); Task.WaitAll(task); }
public ActionResult AddToCollection([FromRoute] Guid collectionId, [FromQuery, Required] string?itemIds) { _collectionManager.AddToCollection(collectionId, RequestHelpers.Split(itemIds, ',', true)); return(NoContent()); }