当前位置: 首页>>代码示例>>C#>>正文


C# BaseItem.SetParent方法代码示例

本文整理汇总了C#中BaseItem.SetParent方法的典型用法代码示例。如果您正苦于以下问题:C# BaseItem.SetParent方法的具体用法?C# BaseItem.SetParent怎么用?C# BaseItem.SetParent使用的例子?那么恭喜您, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在BaseItem的用法示例。


在下文中一共展示了BaseItem.SetParent方法的7个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的C#代码示例。

示例1: SetInitialItemValues

        /// <summary>
        /// Sets the initial item values.
        /// </summary>
        /// <param name="item">The item.</param>
        /// <param name="args">The args.</param>
        /// <param name="fileSystem">The file system.</param>
        /// <param name="libraryManager">The library manager.</param>
        public static void SetInitialItemValues(BaseItem item, ItemResolveArgs args, IFileSystem fileSystem, ILibraryManager libraryManager)
        {
            // If the resolver didn't specify this
            if (string.IsNullOrEmpty(item.Path))
            {
                item.Path = args.Path;
            }

            // If the resolver didn't specify this
            if (args.Parent != null)
            {
                item.SetParent(args.Parent);
            }

            item.Id = libraryManager.GetNewItemId(item.Path, item.GetType());

            // Make sure the item has a name
            EnsureName(item, args.FileInfo);

            item.IsLocked = item.Path.IndexOf("[dontfetchmeta]", StringComparison.OrdinalIgnoreCase) != -1 ||
                item.GetParents().Any(i => i.IsLocked);

            // Make sure DateCreated and DateModified have values
            EnsureDates(fileSystem, item, args);
        }
开发者ID:softworkz,项目名称:Emby,代码行数:32,代码来源:ResolverHelper.cs

示例2: RemoveChild

        /// <summary>
        /// Removes the child.
        /// </summary>
        /// <param name="item">The item.</param>
        public void RemoveChild(BaseItem item)
        {
            RemoveChildrenInternal(new[] { item.Id }.ToList());

            item.SetParent(null);
        }
开发者ID:paul-777,项目名称:Emby,代码行数:10,代码来源:Folder.cs

示例3: AddChild

        /// <summary>
        /// Adds the child.
        /// </summary>
        /// <param name="item">The item.</param>
        /// <param name="cancellationToken">The cancellation token.</param>
        /// <returns>Task.</returns>
        /// <exception cref="System.InvalidOperationException">Unable to add  + item.Name</exception>
        public async Task AddChild(BaseItem item, CancellationToken cancellationToken)
        {
            item.SetParent(this);

            if (item.Id == Guid.Empty)
            {
                item.Id = LibraryManager.GetNewItemId(item.Path, item.GetType());
            }

            if (ActualChildren.Any(i => i.Id == item.Id))
            {
                throw new ArgumentException(string.Format("A child with the Id {0} already exists.", item.Id));
            }

            if (item.DateCreated == DateTime.MinValue)
            {
                item.DateCreated = DateTime.UtcNow;
            }
            if (item.DateModified == DateTime.MinValue)
            {
                item.DateModified = DateTime.UtcNow;
            }

            AddChildInternal(item.Id);

            await LibraryManager.CreateItem(item, cancellationToken).ConfigureAwait(false);
        }
开发者ID:paul-777,项目名称:Emby,代码行数:34,代码来源:Folder.cs

示例4: RemoveChild

 /// <summary>
 /// Removes the child.
 /// </summary>
 /// <param name="item">The item.</param>
 public void RemoveChild(BaseItem item)
 {
     item.SetParent(null);
 }
开发者ID:t-andre,项目名称:Emby,代码行数:8,代码来源:Folder.cs

示例5: RetrieveChild

        private BaseItem RetrieveChild(BaseItem child)
        {
            if (child == null || child.Id == Guid.Empty)
            {
                Logger.Error("Item found with empty Id: " + (child.Path ?? child.Name));
                return null;
            }

            var item = LibraryManager.GetMemoryItemById(child.Id);

            if (item != null)
            {
                if (item is IByReferenceItem)
                {
                    return LibraryManager.GetOrAddByReferenceItem(item);
                }

                item.SetParent(this);
            }
            else
            {
                child.SetParent(this);
                LibraryManager.RegisterItem(child);
                item = child;
            }

            return item;
        }
开发者ID:ratanparai,项目名称:Emby,代码行数:28,代码来源:Folder.cs

示例6: RemoveChild

        /// <summary>
        /// Removes the child.
        /// </summary>
        /// <param name="item">The item.</param>
        /// <param name="cancellationToken">The cancellation token.</param>
        /// <returns>Task.</returns>
        /// <exception cref="System.InvalidOperationException">Unable to remove  + item.Name</exception>
        public Task RemoveChild(BaseItem item, CancellationToken cancellationToken)
        {
            RemoveChildrenInternal(new[] { item });

            item.SetParent(null);

            if (!EnableNewFolderQuerying())
            {
                return ItemRepository.SaveChildren(Id, ActualChildren.Select(i => i.Id).ToList(), cancellationToken);
            }

            return Task.FromResult(true);
        }
开发者ID:ratanparai,项目名称:Emby,代码行数:20,代码来源:Folder.cs

示例7: RemoveChild

        /// <summary>
        /// Removes the child.
        /// </summary>
        /// <param name="item">The item.</param>
        /// <param name="cancellationToken">The cancellation token.</param>
        /// <returns>Task.</returns>
        /// <exception cref="System.InvalidOperationException">Unable to remove  + item.Name</exception>
        public Task RemoveChild(BaseItem item, CancellationToken cancellationToken)
        {
            RemoveChildrenInternal(new[] { item });

            item.SetParent(null);

            return ItemRepository.SaveChildren(Id, ActualChildren.Select(i => i.Id).ToList(), cancellationToken);
        }
开发者ID:redteamcpu,项目名称:Emby,代码行数:15,代码来源:Folder.cs


注:本文中的BaseItem.SetParent方法示例由纯净天空整理自Github/MSDocs等开源代码及文档管理平台,相关代码片段筛选自各路编程大神贡献的开源项目,源码版权归原作者所有,传播和使用请参考对应项目的License;未经允许,请勿转载。