aboutsummaryrefslogtreecommitdiff
path: root/MediaBrowser.Server.Implementations/Library/LibraryManager.cs
diff options
context:
space:
mode:
authorEric Reed <ebr@mediabrowser3.com>2013-05-23 11:45:43 -0400
committerEric Reed <ebr@mediabrowser3.com>2013-05-23 11:45:43 -0400
commit47be566fc62fdbe27156d378705b3e3ad222d787 (patch)
tree2686478f5c7887821696ada12ee1343b43449723 /MediaBrowser.Server.Implementations/Library/LibraryManager.cs
parentf4a199d27579a69c141ec311662a13b090779d82 (diff)
parentbfb377793ad124fe8f8504be3c7673ed66895c57 (diff)
Merge branch 'master' of https://github.com/MediaBrowser/MediaBrowser
Diffstat (limited to 'MediaBrowser.Server.Implementations/Library/LibraryManager.cs')
-rw-r--r--MediaBrowser.Server.Implementations/Library/LibraryManager.cs50
1 files changed, 29 insertions, 21 deletions
diff --git a/MediaBrowser.Server.Implementations/Library/LibraryManager.cs b/MediaBrowser.Server.Implementations/Library/LibraryManager.cs
index 72cf42c14..fbf2dfc70 100644
--- a/MediaBrowser.Server.Implementations/Library/LibraryManager.cs
+++ b/MediaBrowser.Server.Implementations/Library/LibraryManager.cs
@@ -1036,21 +1036,40 @@ namespace MediaBrowser.Server.Implementations.Library
/// <param name="item">The item.</param>
/// <param name="cancellationToken">The cancellation token.</param>
/// <returns>Task.</returns>
- public async Task CreateItem(BaseItem item, CancellationToken cancellationToken)
+ public Task CreateItem(BaseItem item, CancellationToken cancellationToken)
{
- await SaveItem(item, cancellationToken).ConfigureAwait(false);
+ return CreateItems(new[] { item }, cancellationToken);
+ }
- UpdateItemInLibraryCache(item);
+ /// <summary>
+ /// Creates the items.
+ /// </summary>
+ /// <param name="items">The items.</param>
+ /// <param name="cancellationToken">The cancellation token.</param>
+ /// <returns>Task.</returns>
+ public async Task CreateItems(IEnumerable<BaseItem> items, CancellationToken cancellationToken)
+ {
+ var list = items.ToList();
+
+ await ItemRepository.SaveItems(list, cancellationToken).ConfigureAwait(false);
+
+ foreach (var item in list)
+ {
+ UpdateItemInLibraryCache(item);
+ }
if (ItemAdded != null)
{
- try
- {
- ItemAdded(this, new ItemChangeEventArgs { Item = item });
- }
- catch (Exception ex)
+ foreach (var item in list)
{
- _logger.ErrorException("Error in ItemUpdated event handler", ex);
+ try
+ {
+ ItemAdded(this, new ItemChangeEventArgs { Item = item });
+ }
+ catch (Exception ex)
+ {
+ _logger.ErrorException("Error in ItemUpdated event handler", ex);
+ }
}
}
}
@@ -1063,7 +1082,7 @@ namespace MediaBrowser.Server.Implementations.Library
/// <returns>Task.</returns>
public async Task UpdateItem(BaseItem item, CancellationToken cancellationToken)
{
- await SaveItem(item, cancellationToken).ConfigureAwait(false);
+ await ItemRepository.SaveItem(item, cancellationToken).ConfigureAwait(false);
UpdateItemInLibraryCache(item);
@@ -1100,17 +1119,6 @@ namespace MediaBrowser.Server.Implementations.Library
}
/// <summary>
- /// Saves the item.
- /// </summary>
- /// <param name="item">The item.</param>
- /// <param name="cancellationToken">The cancellation token.</param>
- /// <returns>Task.</returns>
- private Task SaveItem(BaseItem item, CancellationToken cancellationToken)
- {
- return ItemRepository.SaveItem(item, cancellationToken);
- }
-
- /// <summary>
/// Retrieves the item.
/// </summary>
/// <param name="id">The id.</param>