Better mapping of enumerable
This commit is contained in:
@@ -64,7 +64,7 @@ namespace Umbraco.Web.Models.Mapping
|
||||
// Umbraco.Code.MapAll
|
||||
private static void Map(IContent source, ContentPropertyCollectionDto target, MapperContext context)
|
||||
{
|
||||
target.Properties = context.Map<IEnumerable<ContentPropertyDto>>(source.Properties);
|
||||
target.Properties = context.MapEnumerable<Property, ContentPropertyDto>(source.Properties);
|
||||
}
|
||||
|
||||
// Umbraco.Code.MapAll -AllowPreview -Errors -PersistedContent
|
||||
@@ -98,7 +98,7 @@ namespace Umbraco.Web.Models.Mapping
|
||||
target.Variants = _contentVariantMapper.Map(source, context);
|
||||
|
||||
target.ContentDto = new ContentPropertyCollectionDto();
|
||||
target.ContentDto.Properties = context.Map<IEnumerable<ContentPropertyDto>>(source.Properties);
|
||||
target.ContentDto.Properties = context.MapEnumerable<Property, ContentPropertyDto>(source.Properties);
|
||||
}
|
||||
|
||||
// Umbraco.Code.MapAll -Segment -Language
|
||||
@@ -127,7 +127,7 @@ namespace Umbraco.Web.Models.Mapping
|
||||
target.Owner = _commonMapper.GetOwner(source, context);
|
||||
target.ParentId = source.ParentId;
|
||||
target.Path = source.Path;
|
||||
target.Properties = context.Map<IEnumerable<ContentPropertyBasic>>(source.Properties);
|
||||
target.Properties = context.MapEnumerable<Property, ContentPropertyBasic>(source.Properties);
|
||||
target.SortOrder = source.SortOrder;
|
||||
target.State = _basicStateMapper.Map(source, context);
|
||||
target.Trashed = source.Trashed;
|
||||
|
||||
@@ -122,7 +122,7 @@ namespace Umbraco.Web.Models.Mapping
|
||||
target.AllowCultureVariant = source.VariesByCulture();
|
||||
|
||||
//sync templates
|
||||
target.AllowedTemplates = context.Map<IEnumerable<EntityBasic>>(source.AllowedTemplates);
|
||||
target.AllowedTemplates = context.MapEnumerable<ITemplate, EntityBasic>(source.AllowedTemplates);
|
||||
|
||||
if (source.DefaultTemplate != null)
|
||||
target.DefaultTemplate = context.Map<EntityBasic>(source.DefaultTemplate);
|
||||
@@ -312,7 +312,7 @@ namespace Umbraco.Web.Models.Mapping
|
||||
target.Name = source.Name;
|
||||
target.SortOrder = source.SortOrder;
|
||||
|
||||
target.Properties = context.Map<IEnumerable<PropertyTypeDisplay>>(source.Properties);
|
||||
target.Properties = context.MapEnumerable<PropertyTypeBasic, PropertyTypeDisplay>(source.Properties);
|
||||
}
|
||||
|
||||
// Umbraco.Code.MapAll -ContentTypeId -ParentTabContentTypes -ParentTabContentTypeNames
|
||||
@@ -325,7 +325,7 @@ namespace Umbraco.Web.Models.Mapping
|
||||
target.Name = source.Name;
|
||||
target.SortOrder = source.SortOrder;
|
||||
|
||||
target.Properties = context.Map<IEnumerable<MemberPropertyTypeDisplay>>(source.Properties);
|
||||
target.Properties = context.MapEnumerable<MemberPropertyTypeBasic, MemberPropertyTypeDisplay>(source.Properties);
|
||||
}
|
||||
|
||||
// Umbraco.Code.MapAll -Editor -View -Config -ContentTypeId -ContentTypeName -Locked
|
||||
@@ -531,7 +531,7 @@ namespace Umbraco.Web.Models.Mapping
|
||||
{
|
||||
MapTypeToDisplayBase(source, target);
|
||||
|
||||
target.Groups = context.Map<IEnumerable<PropertyGroupDisplay<TTargetPropertyType>>>(source.Groups);
|
||||
target.Groups = context.MapEnumerable<PropertyGroupBasic<TSourcePropertyType>, PropertyGroupDisplay<TTargetPropertyType>>(source.Groups);
|
||||
}
|
||||
|
||||
private IEnumerable<string> MapLockedCompositions(IContentTypeComposition source)
|
||||
|
||||
@@ -32,7 +32,7 @@ namespace Umbraco.Web.Models.Mapping
|
||||
var allLanguages = _localizationService.GetAllLanguages().OrderBy(x => x.Id).ToList();
|
||||
if (allLanguages.Count == 0) return Enumerable.Empty<ContentVariantDisplay>(); //this should never happen
|
||||
|
||||
var langs = context.Map<IEnumerable<Language>>(allLanguages).ToList();
|
||||
var langs = context.MapEnumerable<ILanguage, Language>(allLanguages).ToList();
|
||||
|
||||
//create a variant for each language, then we'll populate the values
|
||||
var variants = langs.Select(x =>
|
||||
|
||||
@@ -130,7 +130,7 @@ namespace Umbraco.Web.Models.Mapping
|
||||
var properties = _propertyEditors
|
||||
.Where(x => !x.IsDeprecated || contentSection.ShowDeprecatedPropertyEditors || source.EditorAlias == x.Alias)
|
||||
.OrderBy(x => x.Name);
|
||||
return context.Map<IEnumerable<PropertyEditorBasic>>(properties);
|
||||
return context.MapEnumerable<IDataEditor, PropertyEditorBasic>(properties);
|
||||
}
|
||||
|
||||
private IEnumerable<DataTypeConfigurationFieldDisplay> MapPreValues(IDataType dataType, MapperContext context)
|
||||
|
||||
@@ -111,7 +111,7 @@ namespace Umbraco.Web.Models.Mapping
|
||||
target.Owner = _commonMapper.GetOwner(source, context);
|
||||
target.ParentId = source.ParentId;
|
||||
target.Path = source.Path;
|
||||
target.Properties = context.Map<IEnumerable<ContentPropertyBasic>>(source.Properties);
|
||||
target.Properties = context.MapEnumerable<Property, ContentPropertyBasic>(source.Properties);
|
||||
target.SortOrder = source.SortOrder;
|
||||
target.State = null;
|
||||
target.Udi = Udi.Create(Constants.UdiEntityType.Member, source.Key);
|
||||
|
||||
@@ -216,7 +216,7 @@ namespace Umbraco.Web.Models.Mapping
|
||||
//Important! Currently we are never mapping to multiple UserGroupDisplay objects but if we start doing that
|
||||
// this will cause an N+1 and we'll need to change how this works.
|
||||
var users = _userService.GetAllInGroup(source.Id);
|
||||
target.Users = context.Map<IEnumerable<UserBasic>>(users);
|
||||
target.Users = context.MapEnumerable<IUser, UserBasic>(users);
|
||||
|
||||
//Deal with assigned permissions:
|
||||
|
||||
@@ -388,7 +388,7 @@ namespace Umbraco.Web.Models.Mapping
|
||||
startNodes.Add(CreateRootNode(_textService.Localize(localizedKey)));
|
||||
|
||||
var mediaItems = _entityService.GetAll(objectType, startNodeIds);
|
||||
startNodes.AddRange(context.Map<IEnumerable<EntityBasic>>(mediaItems));
|
||||
startNodes.AddRange(context.MapEnumerable<IEntitySlim, EntityBasic>(mediaItems));
|
||||
return startNodes;
|
||||
}
|
||||
|
||||
|
||||
Reference in New Issue
Block a user