diff options
Diffstat (limited to 'MediaBrowser.Controller/Entities/Folder.cs')
| -rw-r--r-- | MediaBrowser.Controller/Entities/Folder.cs | 18 |
1 files changed, 16 insertions, 2 deletions
diff --git a/MediaBrowser.Controller/Entities/Folder.cs b/MediaBrowser.Controller/Entities/Folder.cs index 4f3c87508..472cc115e 100644 --- a/MediaBrowser.Controller/Entities/Folder.cs +++ b/MediaBrowser.Controller/Entities/Folder.cs @@ -92,13 +92,27 @@ namespace MediaBrowser.Controller.Entities /// <exception cref="System.InvalidOperationException">Unable to add + item.Name</exception> public async Task AddChild(BaseItem item, CancellationToken cancellationToken) { + item.Parent = this; + + if (item.Id == Guid.Empty) + { + item.Id = item.Path.GetMBId(item.GetType()); + } + + if (item.DateCreated == DateTime.MinValue) + { + item.DateCreated = DateTime.Now; + } + if (item.DateModified == DateTime.MinValue) + { + item.DateModified = DateTime.Now; + } + if (!_children.TryAdd(item.Id, item)) { throw new InvalidOperationException("Unable to add " + item.Name); } - item.Parent = this; - var newChildren = Children.ToList(); await LibraryManager.CreateItem(item, cancellationToken).ConfigureAwait(false); |
