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


C# IContentService.GetById方法代码示例

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


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

示例1: DomainManagerDomain

        public DomainManagerDomain(umbraco.cms.businesslogic.web.Domain domain, IContentService contentService)
        {
            if (domain == null || contentService == null)
                return;

            Id = domain.Id;
            Culture = domain.Language.CultureAlias;
            Name = domain.Name.Equals("*" + domain.RootNodeId) ? "-" : domain.Name;
            RootNodeId = domain.RootNodeId;

            var rootNode = contentService.GetById(RootNodeId);
            if (rootNode != null)
            {
                RootNodeName = rootNode.Name;
            }
        }
开发者ID:agebase,项目名称:umbraco-domain-manager,代码行数:16,代码来源:DomainManagerDomain.cs

示例2: ResolveItem

        /// <summary>
        /// Resolves the item.
        /// </summary>
        /// <param name="target">The target.</param>
        /// <param name="contentService">The content service.</param>
        /// <returns></returns>
        /// <exception cref="System.NotSupportedException">
        /// You can not save a class that does not contain a property that represents the item ID. Ensure that at least one property has the UmbracoIdAttribute
        /// or
        /// Can not get ID for item
        /// </exception>
        public IContent ResolveItem(object target, IContentService contentService)
        {
            Guid versionNumber = default(Guid);

            if (IdConfig == null)
                throw new NotSupportedException(
                    "You can not save a class that does not contain a property that represents the item ID. Ensure that at least one property has the UmbracoIdAttribute");

            if (IdConfig.PropertyInfo.PropertyType == typeof(int))
            {
                var id = (int)IdConfig.PropertyInfo.GetValue(target, null);
                return contentService.GetById(id);
            }
            
            if (IdConfig.PropertyInfo.PropertyType == typeof(Guid))
            {
                var id = (Guid)IdConfig.PropertyInfo.GetValue(target, null);
                return contentService.GetById(id);
            }

            if (VersionConfig != null)
            {
                versionNumber = (Guid)VersionConfig.PropertyInfo.GetValue(target, null);
            }

            if (versionNumber != default(Guid))
            {
                return contentService.GetByVersion(versionNumber);
            }

            throw new NotSupportedException("Can not get ID for item");
        }
开发者ID:JamesHay,项目名称:Glass.Mapper,代码行数:43,代码来源:UmbracoTypeConfiguration.cs

示例3: CheckPermissions

        /// <summary>
        /// Performs a permissions check for the user to check if it has access to the node based on 
        /// start node and/or permissions for the node
        /// </summary>
        /// <param name="storage">The storage to add the content item to so it can be reused</param>
        /// <param name="user"></param>
        /// <param name="userService"></param>
        /// <param name="contentService"></param>
        /// <param name="nodeId">The content to lookup, if the contentItem is not specified</param>
        /// <param name="permissionsToCheck"></param>
        /// <param name="contentItem">Specifies the already resolved content item to check against</param>
        /// <returns></returns>
        internal static bool CheckPermissions(
            IDictionary<string, object> storage,
            IUser user,
            IUserService userService,
            IContentService contentService,
            int nodeId,
            char[] permissionsToCheck = null,
            IContent contentItem = null)
        {
           
            if (contentItem == null && nodeId != Constants.System.Root && nodeId != Constants.System.RecycleBinContent)
            {
                contentItem = contentService.GetById(nodeId);
                //put the content item into storage so it can be retreived 
                // in the controller (saves a lookup)
                storage[typeof(IContent).ToString()] = contentItem;
            }

            if (contentItem == null && nodeId != Constants.System.Root && nodeId != Constants.System.RecycleBinContent)
            {
                throw new HttpResponseException(HttpStatusCode.NotFound);
            }

            var hasPathAccess = (nodeId == Constants.System.Root)
                                    ? UserExtensions.HasPathAccess(
                                        Constants.System.Root.ToInvariantString(),
                                        user.StartContentId,
                                        Constants.System.RecycleBinContent)
                                    : (nodeId == Constants.System.RecycleBinContent)
                                          ? UserExtensions.HasPathAccess(
                                              Constants.System.RecycleBinContent.ToInvariantString(),
                                              user.StartContentId,
                                              Constants.System.RecycleBinContent)
                                          : user.HasPathAccess(contentItem);

            if (hasPathAccess == false)
            {
                return false;
            }

            if (permissionsToCheck == null || permissionsToCheck.Any() == false)
            {
                return true;
            }

            var permission = userService.GetPermissions(user, nodeId).FirstOrDefault();

            var allowed = true;
            foreach (var p in permissionsToCheck)
            {
                if (permission == null || permission.AssignedPermissions.Contains(p.ToString(CultureInfo.InvariantCulture)) == false)
                {
                    allowed = false;
                }
            }
            return allowed;
        }
开发者ID:phaniarveti,项目名称:Experiments,代码行数:69,代码来源:ContentController.cs


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