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


C# IContentDefinitionManager.ParseContentTypeDefinitions方法代码示例

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


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

示例1: ContainerPartHandler

        public ContainerPartHandler(
            IRepository<ContainerPartRecord> repository, 
            IContentDefinitionManager contentDefinitionManager, 
            IListViewService listViewService, 
            IContainerService containerService) {

            _contentDefinitionManager = contentDefinitionManager;
            _listViewService = listViewService;
            _containerService = containerService;
            Filters.Add(StorageFilter.For(repository));
            OnInitializing<ContainerPart>((context, part) => {
                part.Record.ItemsShown = part.Settings.GetModel<ContainerTypePartSettings>().ItemsShownDefault
                                        ?? part.PartDefinition.Settings.GetModel<ContainerPartSettings>().ItemsShownDefault;
                part.Record.PageSize = part.Settings.GetModel<ContainerTypePartSettings>().PageSizeDefault
                                        ?? part.PartDefinition.Settings.GetModel<ContainerPartSettings>().PageSizeDefault;
                part.Record.Paginated = part.Settings.GetModel<ContainerTypePartSettings>().PaginatedDefault
                                        ?? part.PartDefinition.Settings.GetModel<ContainerPartSettings>().PaginatedDefault;

            });

            OnGetContentItemMetadata<ContainerPart>((context, part) => {
                    context.Metadata.DisplayRouteValues = new RouteValueDictionary {
                    {"Area", "Containers"},
                    {"Controller", "Item"},
                    {"Action", "Display"},
                    {"id", context.ContentItem.Id}
                };
            });

            OnActivated<ContainerPart>((context, part) => {
                part.ContainerSettingsField.Loader(() => part.Settings.GetModel<ContainerTypePartSettings>());

                part.ItemContentTypesField.Loader(() => {
                    var settings = part.ContainerSettings;
                    var types = settings.RestrictItemContentTypes ? settings.RestrictedItemContentTypes : part.Record.ItemContentTypes;
                    return _contentDefinitionManager.ParseContentTypeDefinitions(types);
                });

                part.ItemContentTypesField.Setter(value => {
                    part.Record.ItemContentTypes = _contentDefinitionManager.JoinContentTypeDefinitions(value);
                    return value;
                });

                part.AdminListViewField.Loader(() => {
                    var providers = _listViewService.Providers.ToList();
                    var listViewProviderName = !String.IsNullOrWhiteSpace(part.Record.AdminListViewName)
                        ? part.Record.AdminListViewName
                        : !String.IsNullOrWhiteSpace(part.ContainerSettings.AdminListViewName)
                            ? part.ContainerSettings.AdminListViewName
                            : providers.Any() ? providers.First().Name : null;

                    return _listViewService.GetProvider(listViewProviderName) ?? _listViewService.GetDefaultProvider();
                });
            });

            OnPublished<ContainerPart>((context, part) => _containerService.UpdateItemCount(part));
        }
开发者ID:SunRobin2015,项目名称:RobinWithOrchard,代码行数:57,代码来源:ContainerPartHandler.cs


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