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


C# IOptionService.GetMergedOptionValuesForEdit方法代码示例

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


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

示例1: GetPageContentOptionsQuery

        private static IQueryable<OptionValueModel> GetPageContentOptionsQuery(IRepository repository, Guid pageContentId, IOptionService optionService)
        {
            var pageContent = repository
                .AsQueryable<PageContent>()
                .Where(f => f.Id == pageContentId && !f.IsDeleted && !f.Content.IsDeleted)
                .Fetch(f => f.Page).ThenFetch(f => f.Language)
                .Fetch(f => f.Content).ThenFetchMany(f => f.ContentOptions)
                .FetchMany(f => f.Options)
                .ToList()
                .FirstOne();

            var langId = pageContent.Page.Language != null ? pageContent.Page.Language.Id.ToString() : "";
            var mergedOptionValues = optionService.GetMergedOptionValuesForEdit(pageContent.Content.ContentOptions, pageContent.Options);

            foreach (var optionValue in mergedOptionValues)
            {
                if (optionValue.Translations != null)
                {
                    var translation = optionValue.Translations.FirstOrDefault(x => x.LanguageId == langId);
                    if (translation != null)
                    {
                        optionValue.OptionValue = optionValue.UseDefaultValue ? translation.OptionValue : optionValue.OptionValue;
                        optionValue.OptionDefaultValue = translation.OptionValue;
                    }
                }
            }

            return mergedOptionValues
                    .Select(o => new OptionValueModel
                        {
                            Key = o.OptionKey,
                            Value = o.OptionValue,
                            DefaultValue = o.OptionDefaultValue,
                            Type = ((Root.OptionType)(int)o.Type),
                            UseDefaultValue = o.UseDefaultValue,
                            CustomTypeIdentifier = o.CustomOption != null ? o.CustomOption.Identifier : null

                        }).AsQueryable();
        }
开发者ID:vivekmalikymca,项目名称:BetterCMS,代码行数:39,代码来源:PageContentOptionsHelper.cs

示例2: GetPageContentOptionsQuery

        private static IQueryable<OptionValueModel> GetPageContentOptionsQuery(IRepository repository, Guid pageContentId, IOptionService optionService)
        {
            var pageContent = repository
                .AsQueryable<PageContent>()
                .Where(f => f.Id == pageContentId && !f.IsDeleted && !f.Content.IsDeleted)
                .Fetch(f => f.Content).ThenFetchMany(f => f.ContentOptions)
                .FetchMany(f => f.Options)
                .ToList()
                .FirstOne();

            return optionService
                .GetMergedOptionValuesForEdit(pageContent.Content.ContentOptions, pageContent.Options)
                .Select(o => new OptionValueModel
                    {
                        Key = o.OptionKey,
                        Value = o.OptionValue,
                        DefaultValue = o.OptionDefaultValue,
                        Type = ((Root.OptionType)(int)o.Type),
                        UseDefaultValue = o.UseDefaultValue,
                        CustomTypeIdentifier = o.CustomOption != null ? o.CustomOption.Identifier : null
                    }).AsQueryable();
        }
开发者ID:Steinerd,项目名称:BetterCMS,代码行数:22,代码来源:PageContentOptionsHelper.cs


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