diff --git a/src/Umbraco.Tests/Models/Mapping/AutoMapperTests.cs b/src/Umbraco.Tests/Models/Mapping/AutoMapperTests.cs
new file mode 100644
index 0000000000..22aadd744e
--- /dev/null
+++ b/src/Umbraco.Tests/Models/Mapping/AutoMapperTests.cs
@@ -0,0 +1,17 @@
+using AutoMapper;
+using NUnit.Framework;
+using Umbraco.Tests.TestHelpers;
+
+namespace Umbraco.Tests.Models.Mapping
+{
+ [RequiresAutoMapperMappings]
+ [TestFixture]
+ public class AutoMapperTests : BaseUmbracoApplicationTest
+ {
+ [Test]
+ public void Assert_Valid_Mappings()
+ {
+ Mapper.AssertConfigurationIsValid();
+ }
+ }
+}
\ No newline at end of file
diff --git a/src/Umbraco.Tests/Umbraco.Tests.csproj b/src/Umbraco.Tests/Umbraco.Tests.csproj
index 927361265e..6d772332ec 100644
--- a/src/Umbraco.Tests/Umbraco.Tests.csproj
+++ b/src/Umbraco.Tests/Umbraco.Tests.csproj
@@ -178,6 +178,7 @@
+
diff --git a/src/Umbraco.Web/Models/Mapping/ContentModelMapper.cs b/src/Umbraco.Web/Models/Mapping/ContentModelMapper.cs
index af74771fb8..78e3bb1d05 100644
--- a/src/Umbraco.Web/Models/Mapping/ContentModelMapper.cs
+++ b/src/Umbraco.Web/Models/Mapping/ContentModelMapper.cs
@@ -62,6 +62,10 @@ namespace Umbraco.Web.Models.Mapping
? new[] {"Cannot generate urls without a current Umbraco Context"}
: content.GetContentUrls()))
.ForMember(display => display.Properties, expression => expression.Ignore())
+ .ForMember(display => display.TreeNodeUrl, expression => expression.Ignore())
+ .ForMember(display => display.Notifications, expression => expression.Ignore())
+ .ForMember(display => display.Errors, expression => expression.Ignore())
+ .ForMember(display => display.Alias, expression => expression.Ignore())
.ForMember(display => display.Tabs, expression => expression.ResolveUsing())
.ForMember(display => display.AllowedActions, expression => expression.ResolveUsing(
new ActionButtonsResolver(new Lazy(() => applicationContext.Services.UserService))))
@@ -69,24 +73,28 @@ namespace Umbraco.Web.Models.Mapping
//FROM IContent TO ContentItemBasic
config.CreateMap>()
- .ForMember(
- dto => dto.Owner,
- expression => expression.ResolveUsing>())
- .ForMember(
- dto => dto.Updator,
- expression => expression.ResolveUsing())
- .ForMember(
- dto => dto.Icon,
- expression => expression.MapFrom(content => content.ContentType.Icon))
- .ForMember(
- dto => dto.ContentTypeAlias,
- expression => expression.MapFrom(content => content.ContentType.Alias));
+ .ForMember(
+ dto => dto.Owner,
+ expression => expression.ResolveUsing>())
+ .ForMember(
+ dto => dto.Updator,
+ expression => expression.ResolveUsing())
+ .ForMember(
+ dto => dto.Icon,
+ expression => expression.MapFrom(content => content.ContentType.Icon))
+ .ForMember(
+ dto => dto.ContentTypeAlias,
+ expression => expression.MapFrom(content => content.ContentType.Alias))
+ .ForMember(display => display.Alias, expression => expression.Ignore());
//FROM IContent TO ContentItemDto
config.CreateMap>()
.ForMember(
- dto => dto.Owner,
- expression => expression.ResolveUsing>());
+ dto => dto.Owner,
+ expression => expression.ResolveUsing>())
+ .ForMember(display => display.Updator, expression => expression.Ignore())
+ .ForMember(display => display.Icon, expression => expression.Ignore())
+ .ForMember(display => display.Alias, expression => expression.Ignore());
}
diff --git a/src/Umbraco.Web/Models/Mapping/ContentPropertyModelMapper.cs b/src/Umbraco.Web/Models/Mapping/ContentPropertyModelMapper.cs
index cf06bce528..ba51eb1790 100644
--- a/src/Umbraco.Web/Models/Mapping/ContentPropertyModelMapper.cs
+++ b/src/Umbraco.Web/Models/Mapping/ContentPropertyModelMapper.cs
@@ -20,9 +20,10 @@ namespace Umbraco.Web.Models.Mapping
//FROM Property TO ContentPropertyBasic
config.CreateMap>()
- .ForMember(tab => tab.Label, expression => expression.MapFrom(@group => @group.Name))
- .ForMember(tab => tab.IsActive, expression => expression.UseValue(true))
- .ForMember(tab => tab.Properties, expression => expression.Ignore());
+ .ForMember(tab => tab.Label, expression => expression.MapFrom(@group => @group.Name))
+ .ForMember(tab => tab.IsActive, expression => expression.UseValue(true))
+ .ForMember(tab => tab.Properties, expression => expression.Ignore())
+ .ForMember(tab => tab.Alias, expression => expression.Ignore());
//FROM Property TO ContentPropertyBasic
config.CreateMap()
diff --git a/src/Umbraco.Web/Models/Mapping/DataTypeModelMapper.cs b/src/Umbraco.Web/Models/Mapping/DataTypeModelMapper.cs
index 9871a64c23..e1f5cc4508 100644
--- a/src/Umbraco.Web/Models/Mapping/DataTypeModelMapper.cs
+++ b/src/Umbraco.Web/Models/Mapping/DataTypeModelMapper.cs
@@ -21,17 +21,21 @@ namespace Umbraco.Web.Models.Mapping
{
var lazyDataTypeService = new Lazy(() => applicationContext.Services.DataTypeService);
- config.CreateMap();
+ config.CreateMap();
//just maps the standard properties, does not map the value!
- config.CreateMap();
+ config.CreateMap()
+ .ForMember(x => x.Value, expression => expression.Ignore());
config.CreateMap()
- .ForMember(display => display.AvailableEditors, expression => expression.ResolveUsing())
- .ForMember(display => display.PreValues, expression => expression.ResolveUsing(
- new PreValueDisplayResolver(lazyDataTypeService)))
- .ForMember(display => display.SelectedEditor, expression => expression.MapFrom(
- definition => definition.PropertyEditorAlias.IsNullOrWhiteSpace() ? null : definition.PropertyEditorAlias));
+ .ForMember(display => display.AvailableEditors, expression => expression.ResolveUsing())
+ .ForMember(display => display.PreValues, expression => expression.ResolveUsing(
+ new PreValueDisplayResolver(lazyDataTypeService)))
+ .ForMember(display => display.SelectedEditor, expression => expression.MapFrom(
+ definition => definition.PropertyEditorAlias.IsNullOrWhiteSpace() ? null : definition.PropertyEditorAlias))
+ .ForMember(x => x.Notifications, expression => expression.Ignore())
+ .ForMember(x => x.Icon, expression => expression.Ignore())
+ .ForMember(x => x.Alias, expression => expression.Ignore());
//gets a list of PreValueFieldDisplay objects from the data type definition
config.CreateMap>()
@@ -42,14 +46,21 @@ namespace Umbraco.Web.Models.Mapping
});
config.CreateMap()
- .ConstructUsing(save => new DataTypeDefinition(-1, save.SelectedEditor) {CreateDate = DateTime.Now})
+ .ConstructUsing(save => new DataTypeDefinition(-1, save.SelectedEditor) {CreateDate = DateTime.Now})
+ .ForMember(definition => definition.Id, expression => expression.MapFrom(save => Convert.ToInt32(save.Id)))
//we have to ignore the Key otherwise this will reset the UniqueId field which should never change!
- // http://issues.umbraco.org/issue/U4-3911
- .ForMember(definition => definition.Key, expression => expression.Ignore())
- .ForMember(definition => definition.Path, expression => expression.Ignore())
- .ForMember(definition => definition.PropertyEditorAlias, expression => expression.MapFrom(save => save.SelectedEditor))
- .ForMember(definition => definition.ParentId, expression => expression.MapFrom(save => -1))
- .ForMember(definition => definition.DatabaseType, expression => expression.ResolveUsing());
+ // http://issues.umbraco.org/issue/U4-3911
+ .ForMember(definition => definition.Key, expression => expression.Ignore())
+ .ForMember(definition => definition.Path, expression => expression.Ignore())
+ .ForMember(definition => definition.PropertyEditorAlias, expression => expression.MapFrom(save => save.SelectedEditor))
+ .ForMember(definition => definition.ParentId, expression => expression.MapFrom(save => -1))
+ .ForMember(definition => definition.DatabaseType, expression => expression.ResolveUsing())
+ .ForMember(x => x.ControlId, expression => expression.Ignore())
+ .ForMember(x => x.CreatorId, expression => expression.Ignore())
+ .ForMember(x => x.Level, expression => expression.Ignore())
+ .ForMember(x => x.SortOrder, expression => expression.Ignore())
+ .ForMember(x => x.CreateDate, expression => expression.Ignore())
+ .ForMember(x => x.UpdateDate, expression => expression.Ignore());
//Converts a property editor to a new list of pre-value fields - used when creating a new data type or changing a data type with new pre-vals
config.CreateMap>()
diff --git a/src/Umbraco.Web/Models/Mapping/EntityModelMapper.cs b/src/Umbraco.Web/Models/Mapping/EntityModelMapper.cs
index 0d5f0f8be4..c3699b545f 100644
--- a/src/Umbraco.Web/Models/Mapping/EntityModelMapper.cs
+++ b/src/Umbraco.Web/Models/Mapping/EntityModelMapper.cs
@@ -16,30 +16,40 @@ namespace Umbraco.Web.Models.Mapping
public override void ConfigureMappings(IConfiguration config, ApplicationContext applicationContext)
{
config.CreateMap()
- .ForMember(basic => basic.Icon, expression => expression.MapFrom(entity => entity.ContentTypeIcon));
+ .ForMember(basic => basic.Icon, expression => expression.MapFrom(entity => entity.ContentTypeIcon))
+ .ForMember(x => x.Alias, expression => expression.Ignore());
config.CreateMap()
- .ForMember(basic => basic.Icon, expression => expression.UseValue("icon-box"))
- .ForMember(basic => basic.Path, expression => expression.UseValue(""))
- .ForMember(basic => basic.ParentId, expression => expression.UseValue(-1));
+ .ForMember(basic => basic.Icon, expression => expression.UseValue("icon-box"))
+ .ForMember(basic => basic.Path, expression => expression.UseValue(""))
+ .ForMember(basic => basic.ParentId, expression => expression.UseValue(-1))
+ .ForMember(x => x.AdditionalData, expression => expression.Ignore());
config.CreateMap()
- .ForMember(basic => basic.Icon, expression => expression.UseValue("icon-tab"))
- .ForMember(basic => basic.Path, expression => expression.UseValue(""))
- .ForMember(basic => basic.ParentId, expression => expression.UseValue(-1))
- //in v6 the 'alias' is it's lower cased name so we'll stick to that.
- .ForMember(basic => basic.Alias, expression => expression.MapFrom(group => group.Name.ToLowerInvariant()));
+ .ForMember(basic => basic.Icon, expression => expression.UseValue("icon-tab"))
+ .ForMember(basic => basic.Path, expression => expression.UseValue(""))
+ .ForMember(basic => basic.ParentId, expression => expression.UseValue(-1))
+ //in v6 the 'alias' is it's lower cased name so we'll stick to that.
+ .ForMember(basic => basic.Alias, expression => expression.MapFrom(group => group.Name.ToLowerInvariant()))
+ .ForMember(x => x.AdditionalData, expression => expression.Ignore());
config.CreateMap()
- .ForMember(basic => basic.Icon, expression => expression.UseValue("icon-user"))
- .ForMember(basic => basic.Path, expression => expression.UseValue(""))
- .ForMember(basic => basic.ParentId, expression => expression.UseValue(-1))
- .ForMember(basic => basic.Alias, expression => expression.MapFrom(user => user.Username));
+ .ForMember(basic => basic.Icon, expression => expression.UseValue("icon-user"))
+ .ForMember(basic => basic.Path, expression => expression.UseValue(""))
+ .ForMember(basic => basic.ParentId, expression => expression.UseValue(-1))
+ .ForMember(basic => basic.Alias, expression => expression.MapFrom(user => user.Username))
+ .ForMember(x => x.AdditionalData, expression => expression.Ignore());
config.CreateMap()
//default to document icon
.ForMember(x => x.Icon, expression => expression.UseValue("icon-document"))
.ForMember(x => x.Id, expression => expression.MapFrom(result => result.Id))
+ .ForMember(x => x.Name, expression => expression.Ignore())
+ .ForMember(x => x.Key, expression => expression.Ignore())
+ .ForMember(x => x.ParentId, expression => expression.Ignore())
+ .ForMember(x => x.Alias, expression => expression.Ignore())
+ .ForMember(x => x.Path, expression => expression.Ignore())
+ .ForMember(x => x.AdditionalData, expression => expression.Ignore())
.AfterMap((result, basic) =>
{
basic.Name = result.Fields.ContainsKey("nodeName") ? result.Fields["nodeName"] : "[no name]";
diff --git a/src/Umbraco.Web/Models/Mapping/MacroModelMapper.cs b/src/Umbraco.Web/Models/Mapping/MacroModelMapper.cs
index 4122cdd422..35db17654d 100644
--- a/src/Umbraco.Web/Models/Mapping/MacroModelMapper.cs
+++ b/src/Umbraco.Web/Models/Mapping/MacroModelMapper.cs
@@ -22,29 +22,33 @@ namespace Umbraco.Web.Models.Mapping
config.CreateMap()
.ForMember(entityBasic => entityBasic.Icon, expression => expression.UseValue("icon-settings-alt"))
.ForMember(dto => dto.ParentId, expression => expression.UseValue(-1))
- .ForMember(dto => dto.Path, expression => expression.ResolveUsing(macro => "-1," + macro.Id));
+ .ForMember(dto => dto.Path, expression => expression.ResolveUsing(macro => "-1," + macro.Id))
+ .ForMember(dto => dto.AdditionalData, expression => expression.Ignore());
config.CreateMap>()
.ConvertUsing(macro => macro.Properties.Select(Mapper.Map).ToList());
config.CreateMap()
- .AfterMap((property, parameter) =>
- {
- //map the view and the config
+ .ForMember(x => x.View, expression => expression.Ignore())
+ .ForMember(x => x.Configuration, expression => expression.Ignore())
+ .ForMember(x => x.Value, expression => expression.Ignore())
+ .AfterMap((property, parameter) =>
+ {
+ //map the view and the config
- var paramEditor = ParameterEditorResolver.Current.GetByAlias(property.EditorAlias);
- if (paramEditor == null)
- {
- //we'll just map this to a text box
- paramEditor = ParameterEditorResolver.Current.GetByAlias(Constants.PropertyEditors.TextboxAlias);
- LogHelper.Warn("Could not resolve a parameter editor with alias " + property.EditorAlias + ", a textbox will be rendered in it's place");
- }
+ var paramEditor = ParameterEditorResolver.Current.GetByAlias(property.EditorAlias);
+ if (paramEditor == null)
+ {
+ //we'll just map this to a text box
+ paramEditor = ParameterEditorResolver.Current.GetByAlias(Constants.PropertyEditors.TextboxAlias);
+ LogHelper.Warn("Could not resolve a parameter editor with alias " + property.EditorAlias + ", a textbox will be rendered in it's place");
+ }
- parameter.View = paramEditor.ValueEditor.View;
- //set the config
- parameter.Configuration = paramEditor.Configuration;
-
- });
+ parameter.View = paramEditor.ValueEditor.View;
+ //set the config
+ parameter.Configuration = paramEditor.Configuration;
+
+ });
}
diff --git a/src/Umbraco.Web/Models/Mapping/MediaModelMapper.cs b/src/Umbraco.Web/Models/Mapping/MediaModelMapper.cs
index 7255da4b24..3fc9c1de39 100644
--- a/src/Umbraco.Web/Models/Mapping/MediaModelMapper.cs
+++ b/src/Umbraco.Web/Models/Mapping/MediaModelMapper.cs
@@ -41,26 +41,39 @@ namespace Umbraco.Web.Models.Mapping
dto => dto.ContentTypeName,
expression => expression.MapFrom(content => content.ContentType.Name))
.ForMember(display => display.Properties, expression => expression.Ignore())
+ .ForMember(display => display.TreeNodeUrl, expression => expression.Ignore())
+ .ForMember(display => display.Notifications, expression => expression.Ignore())
+ .ForMember(display => display.Errors, expression => expression.Ignore())
+ .ForMember(display => display.Published, expression => expression.Ignore())
+ .ForMember(display => display.Updator, expression => expression.Ignore())
+ .ForMember(display => display.Alias, expression => expression.Ignore())
.ForMember(display => display.Tabs, expression => expression.ResolveUsing())
.AfterMap(AfterMap);
//FROM IMedia TO ContentItemBasic
config.CreateMap>()
- .ForMember(
- dto => dto.Owner,
- expression => expression.ResolveUsing>())
- .ForMember(
- dto => dto.Icon,
- expression => expression.MapFrom(content => content.ContentType.Icon))
- .ForMember(
- dto => dto.ContentTypeAlias,
- expression => expression.MapFrom(content => content.ContentType.Alias));
+ .ForMember(
+ dto => dto.Owner,
+ expression => expression.ResolveUsing>())
+ .ForMember(
+ dto => dto.Icon,
+ expression => expression.MapFrom(content => content.ContentType.Icon))
+ .ForMember(
+ dto => dto.ContentTypeAlias,
+ expression => expression.MapFrom(content => content.ContentType.Alias))
+ .ForMember(x => x.Published, expression => expression.Ignore())
+ .ForMember(x => x.Updator, expression => expression.Ignore())
+ .ForMember(x => x.Alias, expression => expression.Ignore());
//FROM IMedia TO ContentItemDto
config.CreateMap>()
- .ForMember(
- dto => dto.Owner,
- expression => expression.ResolveUsing>());
+ .ForMember(
+ dto => dto.Owner,
+ expression => expression.ResolveUsing>())
+ .ForMember(x => x.Published, expression => expression.Ignore())
+ .ForMember(x => x.Updator, expression => expression.Ignore())
+ .ForMember(x => x.Icon, expression => expression.Ignore())
+ .ForMember(x => x.Alias, expression => expression.Ignore());
}
private static void AfterMap(IMedia media, MediaItemDisplay display)
diff --git a/src/Umbraco.Web/Models/Mapping/MemberModelMapper.cs b/src/Umbraco.Web/Models/Mapping/MemberModelMapper.cs
index 1f09e38720..d5f5f8a64e 100644
--- a/src/Umbraco.Web/Models/Mapping/MemberModelMapper.cs
+++ b/src/Umbraco.Web/Models/Mapping/MemberModelMapper.cs
@@ -31,63 +31,84 @@ namespace Umbraco.Web.Models.Mapping
//FROM MembershipUser TO IMember - used when using a non-umbraco membership provider
config.CreateMap()
- .ConstructUsing(user => MemberService.CreateGenericMembershipProviderMember(user.UserName, user.Email, user.UserName, ""))
- //we're giving this entity an ID - we cannot really map it but it needs an id so the system knows it's not a new entity
- .ForMember(member => member.Id, expression => expression.MapFrom(user => int.MaxValue))
- .ForMember(member => member.Comments, expression => expression.MapFrom(user => user.Comment))
- .ForMember(member => member.CreateDate, expression => expression.MapFrom(user => user.CreationDate))
- .ForMember(member => member.UpdateDate, expression => expression.MapFrom(user => user.LastActivityDate))
- .ForMember(member => member.LastPasswordChangeDate, expression => expression.MapFrom(user => user.LastPasswordChangedDate))
- .ForMember(member => member.Key, expression => expression.MapFrom(user => user.ProviderUserKey.TryConvertTo().Result.ToString("N")))
- //This is a special case for password - we don't actually care what the password is but it either needs to be something or nothing
- // so we'll set it to something if the member is actually created, otherwise nothing if it is a new member.
- .ForMember(member => member.RawPasswordValue, expression => expression.MapFrom(user => user.CreationDate > DateTime.MinValue ? Guid.NewGuid().ToString("N") : ""))
- //TODO: Support these eventually
- .ForMember(member => member.PasswordQuestion, expression => expression.Ignore())
- .ForMember(member => member.RawPasswordAnswerValue, expression => expression.Ignore());
+ .ConstructUsing(user => MemberService.CreateGenericMembershipProviderMember(user.UserName, user.Email, user.UserName, ""))
+ //we're giving this entity an ID - we cannot really map it but it needs an id so the system knows it's not a new entity
+ .ForMember(member => member.Id, expression => expression.MapFrom(user => int.MaxValue))
+ .ForMember(member => member.Comments, expression => expression.MapFrom(user => user.Comment))
+ .ForMember(member => member.CreateDate, expression => expression.MapFrom(user => user.CreationDate))
+ .ForMember(member => member.UpdateDate, expression => expression.MapFrom(user => user.LastActivityDate))
+ .ForMember(member => member.LastPasswordChangeDate, expression => expression.MapFrom(user => user.LastPasswordChangedDate))
+ .ForMember(member => member.Key, expression => expression.MapFrom(user => user.ProviderUserKey.TryConvertTo().Result.ToString("N")))
+ //This is a special case for password - we don't actually care what the password is but it either needs to be something or nothing
+ // so we'll set it to something if the member is actually created, otherwise nothing if it is a new member.
+ .ForMember(member => member.RawPasswordValue, expression => expression.MapFrom(user => user.CreationDate > DateTime.MinValue ? Guid.NewGuid().ToString("N") : ""))
+ .ForMember(member => member.Properties, expression => expression.Ignore())
+ .ForMember(member => member.CreatorId, expression => expression.Ignore())
+ .ForMember(member => member.Level, expression => expression.Ignore())
+ .ForMember(member => member.Name, expression => expression.Ignore())
+ .ForMember(member => member.ParentId, expression => expression.Ignore())
+ .ForMember(member => member.Path, expression => expression.Ignore())
+ .ForMember(member => member.SortOrder, expression => expression.Ignore())
+ .ForMember(member => member.AdditionalData, expression => expression.Ignore())
+ .ForMember(member => member.FailedPasswordAttempts, expression => expression.Ignore())
+ //TODO: Support these eventually
+ .ForMember(member => member.PasswordQuestion, expression => expression.Ignore())
+ .ForMember(member => member.RawPasswordAnswerValue, expression => expression.Ignore());
//FROM IMember TO MediaItemDisplay
config.CreateMap()
- .ForMember(
- dto => dto.Owner,
- expression => expression.ResolveUsing>())
- .ForMember(
- dto => dto.Icon,
- expression => expression.MapFrom(content => content.ContentType.Icon))
- .ForMember(
- dto => dto.ContentTypeAlias,
- expression => expression.MapFrom(content => content.ContentType.Alias))
- .ForMember(
- dto => dto.ContentTypeName,
- expression => expression.MapFrom(content => content.ContentType.Name))
- .ForMember(display => display.Properties, expression => expression.Ignore())
- .ForMember(display => display.Tabs,
- expression => expression.ResolveUsing())
- .ForMember(display => display.MemberProviderFieldMapping,
- expression => expression.ResolveUsing())
- .ForMember(display => display.MembershipScenario,
- expression => expression.ResolveUsing(new MembershipScenarioMappingResolver(new Lazy(() => applicationContext.Services.MemberTypeService))))
- .AfterMap((member, display) => MapGenericCustomProperties(applicationContext.Services.MemberService, member, display));
+ .ForMember(
+ dto => dto.Owner,
+ expression => expression.ResolveUsing>())
+ .ForMember(
+ dto => dto.Icon,
+ expression => expression.MapFrom(content => content.ContentType.Icon))
+ .ForMember(
+ dto => dto.ContentTypeAlias,
+ expression => expression.MapFrom(content => content.ContentType.Alias))
+ .ForMember(
+ dto => dto.ContentTypeName,
+ expression => expression.MapFrom(content => content.ContentType.Name))
+ .ForMember(display => display.Properties, expression => expression.Ignore())
+ .ForMember(display => display.Tabs,
+ expression => expression.ResolveUsing())
+ .ForMember(display => display.MemberProviderFieldMapping,
+ expression => expression.ResolveUsing())
+ .ForMember(display => display.MembershipScenario,
+ expression => expression.ResolveUsing(new MembershipScenarioMappingResolver(new Lazy(() => applicationContext.Services.MemberTypeService))))
+ .ForMember(display => display.Notifications, expression => expression.Ignore())
+ .ForMember(display => display.Errors, expression => expression.Ignore())
+ .ForMember(display => display.Published, expression => expression.Ignore())
+ .ForMember(display => display.Updator, expression => expression.Ignore())
+ .ForMember(display => display.Alias, expression => expression.Ignore())
+ .AfterMap((member, display) => MapGenericCustomProperties(applicationContext.Services.MemberService, member, display));
//FROM IMember TO ContentItemBasic
config.CreateMap>()
- .ForMember(
- dto => dto.Owner,
- expression => expression.ResolveUsing>())
- .ForMember(
- dto => dto.Icon,
- expression => expression.MapFrom(content => content.ContentType.Icon))
- .ForMember(
- dto => dto.ContentTypeAlias,
- expression => expression.MapFrom(content => content.ContentType.Alias));
+ .ForMember(
+ dto => dto.Owner,
+ expression => expression.ResolveUsing>())
+ .ForMember(
+ dto => dto.Icon,
+ expression => expression.MapFrom(content => content.ContentType.Icon))
+ .ForMember(
+ dto => dto.ContentTypeAlias,
+ expression => expression.MapFrom(content => content.ContentType.Alias))
+ .ForMember(x => x.Published, expression => expression.Ignore())
+ .ForMember(x => x.Updator, expression => expression.Ignore())
+ .ForMember(x => x.Alias, expression => expression.Ignore());
//FROM IMember TO ContentItemDto
config.CreateMap>()
- .ForMember(
- dto => dto.Owner,
- expression => expression.ResolveUsing>())
+ .ForMember(
+ dto => dto.Owner,
+ expression => expression.ResolveUsing>())
+ .ForMember(x => x.Published, expression => expression.Ignore())
+ .ForMember(x => x.Updator, expression => expression.Ignore())
+ .ForMember(x => x.Icon, expression => expression.Ignore())
+ .ForMember(x => x.Alias, expression => expression.Ignore())
//do no map the custom member properties (currently anyways, they were never there in 6.x)
- .ForMember(dto => dto.Properties, expression => expression.ResolveUsing());
+ .ForMember(dto => dto.Properties, expression => expression.ResolveUsing());
}
///
diff --git a/src/Umbraco.Web/Models/Mapping/UserModelMapper.cs b/src/Umbraco.Web/Models/Mapping/UserModelMapper.cs
index a3a3fa1a80..3ee3e80098 100644
--- a/src/Umbraco.Web/Models/Mapping/UserModelMapper.cs
+++ b/src/Umbraco.Web/Models/Mapping/UserModelMapper.cs
@@ -13,12 +13,13 @@ namespace Umbraco.Web.Models.Mapping
public override void ConfigureMappings(IConfiguration config, ApplicationContext applicationContext)
{
config.CreateMap()
- .ForMember(detail => detail.UserId, opt => opt.MapFrom(user => GetIntId(user.Id)))
- .ForMember(detail => detail.UserType, opt => opt.MapFrom(user => user.UserType.Alias))
- .ForMember(detail => detail.Culture, opt => opt.MapFrom(user => ui.Culture(user)))
- .ForMember(
- detail => detail.EmailHash,
- opt => opt.MapFrom(user => user.Email.ToLowerInvariant().Trim().ToMd5()));
+ .ForMember(detail => detail.UserId, opt => opt.MapFrom(user => GetIntId(user.Id)))
+ .ForMember(detail => detail.UserType, opt => opt.MapFrom(user => user.UserType.Alias))
+ .ForMember(detail => detail.Culture, opt => opt.MapFrom(user => ui.Culture(user)))
+ .ForMember(
+ detail => detail.EmailHash,
+ opt => opt.MapFrom(user => user.Email.ToLowerInvariant().Trim().ToMd5()))
+ .ForMember(detail => detail.SecondsUntilTimeout, opt => opt.Ignore());
config.CreateMap()
.ForMember(detail => detail.UserId, opt => opt.MapFrom(profile => GetIntId(profile.Id)));
diff --git a/src/umbraco.businesslogic/ApplicationTreeRegistrar.cs b/src/umbraco.businesslogic/ApplicationTreeRegistrar.cs
index d7cee66c82..32945301ec 100644
--- a/src/umbraco.businesslogic/ApplicationTreeRegistrar.cs
+++ b/src/umbraco.businesslogic/ApplicationTreeRegistrar.cs
@@ -24,7 +24,13 @@ namespace umbraco.BusinessLogic
public void ConfigureMappings(IConfiguration config, ApplicationContext applicationContext)
{
config.CreateMap()
- .ReverseMap(); //two way
+ .ForMember(x => x.Silent, opt => opt.Ignore())
+ .ForMember(x => x.AssemblyName, opt => opt.Ignore())
+ .ForMember(x => x.Action, opt => opt.Ignore());
+
+ config.CreateMap();
+
+ //.ReverseMap(); //two way
}
}