• 设为首页
  • 点击收藏
  • 手机版
    手机扫一扫访问
    迪恩网络手机版
  • 关注官方公众号
    微信扫一扫关注
    迪恩网络公众号

C# PageDefinition类代码示例

原作者: [db:作者] 来自: [db:来源] 收藏 邀请

本文整理汇总了C#中PageDefinition的典型用法代码示例。如果您正苦于以下问题:C# PageDefinition类的具体用法?C# PageDefinition怎么用?C# PageDefinition使用的例子?那么恭喜您, 这里精选的类代码示例或许可以为您提供帮助。



PageDefinition类属于命名空间,在下文中一共展示了PageDefinition类的20个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于我们的系统推荐出更棒的C#代码示例。

示例1: AddContentAreaProperty

        public static void AddContentAreaProperty(PageType pageType, string name, string description)
        {
            Predicate<PageDefinition> match = null;
            if (pageType.Definitions.Find(def => def.Name == name) == null)
            {
                match = delegate(PageDefinition def)
                {
                    return def.Name == name;
                };

                if (pageType.Definitions.Find(match) == null)
                {
                    var item = new PageDefinition();
                    item.PageTypeID = pageType.ID;
                    item.Name = name;
                    item.EditCaption = name;
                    item.HelpText = description;
                    item.DefaultValueType = DefaultValueType.None;
                    item.DefaultValue = "";
                    item.Type = PageTypeManager.ContentAreaPropertyType;
                    item.ID = 0;
                    item.Searchable = true;
                    item.Tab = PageTypeManager.LoadExtensionTab();
                    item.DisplayEditUI = false;
                    item.LanguageSpecific = false;
                    item.LongStringSettings = 0;
                    item.Save();
                    item.ClearCache();
                    pageType.Definitions.Add(item);
                    PageDefinitionType.ClearCache();
                }
            }
        }
开发者ID:jarlef,项目名称:ComposerBuilder,代码行数:33,代码来源:PageTypeHelper.cs


示例2: AddContentAreaProperty

        public static void AddContentAreaProperty(PageType pageType, string name, string description)
        {
            Predicate<PageDefinition> match = null;
            if (pageType.Definitions.Find(def => def.Name == name) == null)
            {
                match = delegate(PageDefinition def)
                {
                    return def.Name == name;
                };

                if (pageType.Definitions.Find(match) == null)
                {
                    var item = new PageDefinition
                               	{
                               		PageTypeID = pageType.ID,
                               		Name = name,
                               		EditCaption = name,
                               		HelpText = string.IsNullOrEmpty(description) ? string.Empty : description,
                               		DefaultValueType = DefaultValueType.None,
                               		DefaultValue = "",
                               		Type = PageTypeManager.ContentAreaPropertyType,
                               		ID = 0,
                               		Searchable = true,
                               		Tab = PageTypeManager.LoadExtensionTab(),
                               		DisplayEditUI = false,
                               		LanguageSpecific = false,
                               		LongStringSettings = 0
                               	};
                    item.Save();
                    item.ClearCache();
                    pageType.Definitions.Add(item);
                    PageDefinitionType.ClearCache();
                }
            }
        }
开发者ID:nordseth,项目名称:ComposerBuilder,代码行数:35,代码来源:PageTypeHelper.cs


示例3: AddExtensionPageProperty

        public static void AddExtensionPageProperty(PageType pageType)
        {
            if (pageType.Definitions.Find(def => def.Name == "ExtensionPageProperty") == null)
            {
                if (pageType.Definitions.Find(def => def.Name == "ExtensionPageProperty") == null)
                {
                    var item = new PageDefinition();
                    item.PageTypeID = pageType.ID;
                    item.Name = "ExtensionPageProperty";
                    item.EditCaption = "ExtensionPageProperty";
                    item.HelpText = "Specialized For Extension Added By Extension (Do not remove)";
                    item.DefaultValueType = DefaultValueType.None;
                    item.DefaultValue = "";
                    item.Type = PageTypeManager.ExtensionPageDefinitionType;
                    item.ID = 0;
                    item.Searchable = true;
                    item.Tab = PageTypeManager.LoadExtensionTab();
                    item.DisplayEditUI = true;
                    item.LanguageSpecific = true;
                    item.LongStringSettings = 0;
                    item.Save();
                    item.ClearCache();
                    pageType.Definitions.Add(item);
                }
            }

            PageDefinitionType.ClearCache();
        }
开发者ID:nordseth,项目名称:ComposerBuilder,代码行数:28,代码来源:PageTypeHelper.cs


示例4: Configure

        public void Configure(ConfigNode node)
        {
            ConfigNode[] pages = node.GetNodes("PAGE_DEFINITION");

            if (pages != null && pages.Length > 0)
            {
                definitions = new PageDefinition[pages.Length];

                for (int i = 0; i < pages.Length; ++i)
                {
                    string variableName = pages[i].GetValue("variableName");
                    string range = pages[i].GetValue("range");
                    string page = pages[i].GetValue("page");
                    if (string.IsNullOrEmpty(variableName) || string.IsNullOrEmpty(range) || string.IsNullOrEmpty(page))
                    {
                        JUtil.LogErrorMessage(this, "Incorrect page definition for page {0}", i);
                        definitions = null;
                        if (string.IsNullOrEmpty(definitionIn))
                        {
                            // Make sure we aren't crashing later.
                            definitionIn = definitionOut;
                        }
                        return;
                    }
                    definitions[i] = new PageDefinition(variableName, range, page);
                }
            }
        }
开发者ID:ndevenish,项目名称:RasterPropMonitor,代码行数:28,代码来源:JSIVariablePageTextSwitcher.cs


示例5: HandleDefaultValues

        private void HandleDefaultValues(PageDefinition pageDefinition)
        {
            if (pageDefinition.DefaultValue != null && pageDefinition.DefaultValue == string.Empty)
                pageDefinition.DefaultValue = null;

            if (pageDefinition.DefaultValue != null)
            {
                object value;

                try
                {
                    value = PropertyData.CreatePropertyDataObject(pageDefinition.Type.DataType).ParseToObject(pageDefinition.DefaultValue).Value;
                }
                catch
                {
                    value = null;
                }

                if (value == null)
                {
                    pageDefinition.DefaultValue = null;
                }
            }

            if (pageDefinition.DefaultValue == null && pageDefinition.DefaultValueType == DefaultValueType.Value && pageDefinition.Type.DataType != PropertyDataType.Boolean)
                pageDefinition.DefaultValueType = DefaultValueType.None;
        }
开发者ID:croweman,项目名称:Page-Type-Builder,代码行数:27,代码来源:PageDefinitionUpdater.cs


示例6: UpdatePropertySettings

        protected internal virtual void UpdatePropertySettings(PageTypeDefinition pageTypeDefinition, PageTypePropertyDefinition propertyDefinition, PageDefinition pageDefinition)
        {
            PropertySettingsContainer container = GetPropertySettingsContainer(pageDefinition);

            UpdatePageDefinitionsGlobalPropertySettings(propertyDefinition, pageTypeDefinition, container);
            UpdatePageDefinitionsLocalPropertySettings(propertyDefinition, pageTypeDefinition, container);
        }
开发者ID:stefanforsberg,项目名称:Page-Type-Builder,代码行数:7,代码来源:PageDefinitionSpecificPropertySettingsUpdater.cs


示例7: SerializeValues

        protected internal virtual string SerializeValues(PageDefinition pageDefinition)
        {
            StringBuilder builder = new StringBuilder();

            builder.Append(pageDefinition.EditCaption);
            builder.Append("|");
            builder.Append(pageDefinition.HelpText);
            builder.Append("|");
            builder.Append(pageDefinition.Required);
            builder.Append("|");
            builder.Append(pageDefinition.Searchable);
            builder.Append("|");
            builder.Append(pageDefinition.DefaultValue);
            builder.Append("|");
            builder.Append(pageDefinition.DefaultValueType);
            builder.Append("|");
            builder.Append(pageDefinition.LanguageSpecific);
            builder.Append("|");
            builder.Append(pageDefinition.DisplayEditUI);
            builder.Append("|");
            builder.Append(pageDefinition.FieldOrder);
            builder.Append("|");
            builder.Append(pageDefinition.LongStringSettings);
            builder.Append("|");
            builder.Append(pageDefinition.Tab.ID);
            builder.Append("|");

            return builder.ToString();
        }
开发者ID:osdezwart,项目名称:Page-Type-Builder,代码行数:29,代码来源:PageTypePropertyUpdater.cs


示例8: MapRecordsToExposedObjects

 private IEnumerable<PageDefinition> MapRecordsToExposedObjects(IEnumerable<PageDefinition> internalRecords)
 {
     return internalRecords.Select(pd =>
         {
             var exposedPageDefinition = new PageDefinition();
             Mapper.Map(pd, exposedPageDefinition);
             return exposedPageDefinition;
         });
 }
开发者ID:stefanforsberg,项目名称:Page-Type-Builder,代码行数:9,代码来源:InMemoryPageDefinitionRepository.cs


示例9: UpdatePageDefinition

        protected internal virtual void UpdatePageDefinition(PageDefinition pageDefinition, PageTypePropertyDefinition pageTypePropertyDefinition)
        {
            string oldValues = SerializeValues(pageDefinition);

            UpdatePageDefinitionValues(pageDefinition, pageTypePropertyDefinition);

            if(SerializeValues(pageDefinition) != oldValues)
                PageDefinitionFactory.Save(pageDefinition);
        }
开发者ID:osdezwart,项目名称:Page-Type-Builder,代码行数:9,代码来源:PageTypePropertyUpdater.cs


示例10: GivenPropertyDefinitionWithNoHelpText_UpdatePageDefinition_SetsHelpTextToEmptyString

        public void GivenPropertyDefinitionWithNoHelpText_UpdatePageDefinition_SetsHelpTextToEmptyString()
        {
            var pageDefinitionUpdater = GetPageDefinitionUpdater();
            PageDefinition pageDefinitionToUpdate = new PageDefinition();
            PageTypePropertyDefinition propertyDefinition = CreatePageTypePropertyDefinition();

            pageDefinitionUpdater.UpdateExistingPageDefinition(pageDefinitionToUpdate, propertyDefinition);

            Assert.Equal<string>(string.Empty, pageDefinitionToUpdate.HelpText);
        }
开发者ID:stefanforsberg,项目名称:Page-Type-Builder,代码行数:10,代码来源:UpdatePageDefinitionTests.cs


示例11: PageDefinition

        public void GivenPageDefinitionWithSpecifiedLongStringSetting_UpdatePageDefinition_ReturnsDifferentStringThanWhenCalledWithPageDefinitionWithNoLongStringSettings()
        {
            PageTypePropertyUpdater pageTypePropertyUpdater = PageTypePropertyUpdaterFactory.Create();
            PageDefinition pageDefinition = new PageDefinition();
            string valuesWithOutClearAllLongStringSettings = pageTypePropertyUpdater.SerializeValues(pageDefinition);
            pageDefinition.LongStringSettings = EditorToolOption.Bold;

            string returnedValue = pageTypePropertyUpdater.SerializeValues(pageDefinition);

            Assert.NotEqual<string>(valuesWithOutClearAllLongStringSettings, returnedValue);
        }
开发者ID:eriknordin,项目名称:Page-Type-Builder,代码行数:11,代码来源:SerializeValuesTests.cs


示例12: GivenPropertyDefinition_UpdatePageDefinition_CallsUpdatePageDefinitionValues

        public void GivenPropertyDefinition_UpdatePageDefinition_CallsUpdatePageDefinitionValues()
        {
            PageTypePropertyUpdater pageTypePropertyUpdater = 
                CreatePageTypePropertyUpdaterWithFakePageDefinitionFactoryAndFakeUpdatePageDefinitionValuesMethod();
            PageDefinition pageDefinitionToUpdate = new PageDefinition();
            PageTypePropertyDefinition propertyDefinition = CreatePageTypePropertyDefinition();

            pageTypePropertyUpdater.UpdatePageDefinition(pageDefinitionToUpdate, propertyDefinition);

            pageTypePropertyUpdater.AssertWasCalled(
                utility => utility.UpdatePageDefinitionValues(pageDefinitionToUpdate, propertyDefinition));
        }
开发者ID:andreasnico,项目名称:Page-Type-Builder,代码行数:12,代码来源:UpdatePageDefinitionTests.cs


示例13: CreateNewPageDefinition

        public virtual void CreateNewPageDefinition(PageTypePropertyDefinition propertyDefinition)
        {
            PageDefinition pageDefinition = new PageDefinition();
            pageDefinition.PageTypeID = propertyDefinition.PageType.ID;
            pageDefinition.Name = propertyDefinition.Name;
            pageDefinition.EditCaption = propertyDefinition.GetEditCaptionOrName();
            SetPageDefinitionType(pageDefinition, propertyDefinition);

            UpdatePageDefinitionValues(pageDefinition, propertyDefinition);

            pageDefinitionRepository.Save(pageDefinition);
        }
开发者ID:stefanforsberg,项目名称:Page-Type-Builder,代码行数:12,代码来源:PageDefinitionUpdater.cs


示例14: CreateNewPageDefinition

        protected internal virtual PageDefinition CreateNewPageDefinition(PageTypePropertyDefinition propertyDefinition)
        {
            PageDefinition pageDefinition = new PageDefinition();
            pageDefinition.PageTypeID = propertyDefinition.PageType.ID;
            pageDefinition.Name = propertyDefinition.Name;
            pageDefinition.EditCaption = propertyDefinition.GetEditCaptionOrName();
            SetPageDefinitionType(pageDefinition, propertyDefinition);

            PageDefinitionFactory.Save(pageDefinition);
            
            return pageDefinition;
        }
开发者ID:osdezwart,项目名称:Page-Type-Builder,代码行数:12,代码来源:PageTypePropertyUpdater.cs


示例15: GivenPropertyDefinitionWithNewEditCaption_UpdatePageDefinitionValues_UpdatedPageDefinitionEditCaption

        public void GivenPropertyDefinitionWithNewEditCaption_UpdatePageDefinitionValues_UpdatedPageDefinitionEditCaption()
        {
            var pageDefinitionUpdater = GetPageDefinitionUpdater();
            PageDefinition pageDefinitionToUpdate = new PageDefinition();
            pageDefinitionToUpdate.EditCaption = TestValueUtility.CreateRandomString();
            string newEditCaption = TestValueUtility.CreateRandomString();
            PageTypePropertyDefinition propertyDefinition = CreatePageTypePropertyDefinition();
            propertyDefinition.PageTypePropertyAttribute.EditCaption = newEditCaption;

            pageDefinitionUpdater.UpdateExistingPageDefinition(pageDefinitionToUpdate, propertyDefinition);

            Assert.Equal<string>(newEditCaption, pageDefinitionToUpdate.EditCaption);
        }
开发者ID:stefanforsberg,项目名称:Page-Type-Builder,代码行数:13,代码来源:UpdatePageDefinitionTests.cs


示例16: CreatePageTypePropertyUpdaterWithFakeUpdatePageDefinitionTabMethod

        public void GivenPropertyDefinitionWithNoEditCaptionAndNameOtherThanPageDefinitionEditCaption_UpdatedPageDefinitionEditCaption()
        {
            PageTypePropertyUpdater pageTypePropertyUpdater = CreatePageTypePropertyUpdaterWithFakeUpdatePageDefinitionTabMethod();
            PageDefinition pageDefinitionToUpdate = new PageDefinition();
            pageDefinitionToUpdate.EditCaption = TestValueUtility.CreateRandomString();
            string newEditCaption = TestValueUtility.CreateRandomString();
            PageTypePropertyDefinition propertyDefinition = CreatePageTypePropertyDefinition();
            propertyDefinition.Name = newEditCaption;

            pageTypePropertyUpdater.UpdatePageDefinitionValues(pageDefinitionToUpdate, propertyDefinition);

            Assert.Equal<string>(newEditCaption, pageDefinitionToUpdate.EditCaption);
        }
开发者ID:andreasnico,项目名称:Page-Type-Builder,代码行数:13,代码来源:UpdatePageDefinitionTests.cs


示例17: UpdateExistingPageDefinition

        public virtual void UpdateExistingPageDefinition(PageDefinition pageDefinition, PageTypePropertyDefinition pageTypePropertyDefinition)
        {
            string oldValues = SerializeValues(pageDefinition);

            UpdatePageDefinitionValues(pageDefinition, pageTypePropertyDefinition);

            string updatedValues = SerializeValues(pageDefinition);
            if (updatedValues != oldValues)
            {
                log.Debug(string.Format("Updating PageDefintion, old values: {0}, new values: {1}.", oldValues, updatedValues));
                pageDefinitionRepository.Save(pageDefinition);
            }
        }
开发者ID:stefanforsberg,项目名称:Page-Type-Builder,代码行数:13,代码来源:PageDefinitionUpdater.cs


示例18: UpdatePropertySettings

        protected internal virtual void UpdatePropertySettings(PageTypeDefinition pageTypeDefinition, PageTypePropertyDefinition propertyDefinition, PageDefinition pageDefinition)
        {
            PropertySettingsContainer container = GetPropertySettingsContainer(pageDefinition);

            object[] attributes = GetPropertyAttributes(propertyDefinition, pageTypeDefinition);
            var useGlobalSettingsAttribute = attributes.OfType<UseGlobalSettingsAttribute>().FirstOrDefault();
            if(useGlobalSettingsAttribute != null)
            {
                //TODO: Should validate not null and valid type at startup
                var globalSettingsUpdater = globalPropertySettingsLocator.GetGlobalPropertySettingsUpdaters().Where(u => u.WrappedInstanceType == useGlobalSettingsAttribute.Type).First();
                var wrapper =_propertySettingsRepository.GetGlobals(globalSettingsUpdater.SettingsType)
                    .Where(w => globalSettingsUpdater.Match(w))
                    .First();
                container.Settings[globalSettingsUpdater.SettingsType.FullName] = wrapper;
                //TODO: Add spec validating that exception is thrown with the below uncommented (An item with the same key has already been added.)
                //container.Settings.Add(globalSettingsUpdater.SettingsType.FullName, wrapper);
                _propertySettingsRepository.Save(container);
            }

            List<PropertySettingsUpdater> settingsUpdaters = GetPropertySettingsUpdaters(pageTypeDefinition, propertyDefinition, pageDefinition);
            settingsUpdaters.ForEach(updater =>
                {
                    var wrapper = container.GetSetting(updater.SettingsType);
                    if (wrapper == null)
                    {
                        wrapper = new PropertySettingsWrapper();
                        container.Settings[updater.SettingsType.FullName] = wrapper;
                        //TODO: Add spec validating that exception is thrown with the below uncommented (An item with the same key has already been added.)
                        //container.Settings.Add(updater.SettingsType.FullName, wrapper);
                    }

                    bool settingsAlreadyExists = true;
                    if (wrapper.PropertySettings == null)
                    {
                        wrapper.PropertySettings = ((IPropertySettings)Activator.CreateInstance(updater.SettingsType)).GetDefaultValues();
                        settingsAlreadyExists = false;
                    }

                    if (settingsAlreadyExists && !updater.OverWriteExisting)
                        return;

                    int hashBeforeUpdate = updater.GetSettingsHashCode(wrapper.PropertySettings);
                    updater.UpdateSettings(wrapper.PropertySettings);
                    int hashAfterUpdate = updater.GetSettingsHashCode(wrapper.PropertySettings);
                    if (hashBeforeUpdate != hashAfterUpdate || !settingsAlreadyExists)
                    {
                        _propertySettingsRepository.Save(container);
                    }
                });
        }
开发者ID:andreasnico,项目名称:Page-Type-Builder,代码行数:50,代码来源:PageTypePropertyUpdater.cs


示例19: NativePageType

        public void GivenPageTypeWithPropertyAndCorrespondingPropertyDefition_GetExistingPropertyDefinition_ReturnsPageDefinition()
        {
            PageTypePropertyUpdater utility = PageTypePropertyUpdaterFactory.Create();
            IPageType pageType = new NativePageType();
            string name = TestValueUtility.CreateRandomString();
            Type type = typeof(string);
            PageTypePropertyAttribute attribute = new PageTypePropertyAttribute();
            PageTypePropertyDefinition pageTypePropertyDefinition = new PageTypePropertyDefinition(name, type, pageType, attribute);
            PageDefinition pageDefinition = new PageDefinition();
            pageDefinition.Name = name;
            pageType.Definitions.Add(pageDefinition);

            PageDefinition returnedPageDefinition = utility.GetExistingPageDefinition(pageType, pageTypePropertyDefinition);

            Assert.Equal<PageDefinition>(pageDefinition, returnedPageDefinition);
        }
开发者ID:andreasnico,项目名称:Page-Type-Builder,代码行数:16,代码来源:GetExistingPageDefitionTests.cs


示例20: UpdatePropertySettings

        protected internal virtual void UpdatePropertySettings(PageTypeDefinition pageTypeDefinition, PageTypePropertyDefinition propertyDefinition, PageDefinition pageDefinition)
        {
            var prop =
                pageTypeDefinition.Type.GetProperties().Where(p => p.Name == propertyDefinition.Name).FirstOrDefault
                    ();
                
            var attributes = prop.GetCustomAttributes(typeof(PropertySettingsAttribute), true);
            foreach (var attribute in attributes)
            {
                PropertySettingsContainer container;

                if (pageDefinition.SettingsID == Guid.Empty)
                {
                    pageDefinition.SettingsID = Guid.NewGuid();
                    PageDefinitionFactory.Save(pageDefinition);
                    container = new PropertySettingsContainer(pageDefinition.SettingsID);
                }
                else
                {
                    if (!_propertySettingsRepository.TryGetContainer(pageDefinition.SettingsID, out container))
                    {
                        container = new PropertySettingsContainer(pageDefinition.SettingsID);
                    }
                }
                var settingsAttribute = (PropertySettingsAttribute) attribute;
                var wrapper = container.GetSetting(settingsAttribute.SettingType);
                if (wrapper == null)
                {
                    wrapper = new PropertySettingsWrapper();
                    container.Settings.Add(settingsAttribute.SettingType.FullName, wrapper);
                }

                bool settingsAlreadyExists = true;
                if (wrapper.PropertySettings == null)
                {
                    wrapper.PropertySettings = (IPropertySettings) Activator.CreateInstance(settingsAttribute.SettingType);
                    settingsAlreadyExists = false;
                }

                if(settingsAlreadyExists && !settingsAttribute.OverWriteExistingSettings)
                    return;

                if(settingsAttribute.UpdateSettings(wrapper.PropertySettings) || !settingsAlreadyExists)
                    _propertySettingsRepository.Save(container);
            }
        }
开发者ID:eriknordin,项目名称:Page-Type-Builder,代码行数:46,代码来源:PageTypePropertyUpdater.cs



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


鲜花

握手

雷人

路过

鸡蛋
该文章已有0人参与评论

请发表评论

全部评论

专题导读
上一篇:
C# PageInfo类代码示例发布时间:2022-05-24
下一篇:
C# PageData类代码示例发布时间:2022-05-24
热门推荐
阅读排行榜

扫描微信二维码

查看手机版网站

随时了解更新最新资讯

139-2527-9053

在线客服(服务时间 9:00~18:00)

在线QQ客服
地址:深圳市南山区西丽大学城创智工业园
电邮:jeky_zhao#qq.com
移动电话:139-2527-9053

Powered by 互联科技 X3.4© 2001-2213 极客世界.|Sitemap