本文整理汇总了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();
}
示例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();
}