From bbda93a06bef14315a71b3b13df4638ddb8874bb Mon Sep 17 00:00:00 2001 From: Shannon Date: Tue, 6 Jun 2017 00:49:36 +0200 Subject: [PATCH] updates mapping for start nodes --- .../Models/Mapping/UserModelMapper.cs | 21 ++++++++++++------- 1 file changed, 14 insertions(+), 7 deletions(-) diff --git a/src/Umbraco.Web/Models/Mapping/UserModelMapper.cs b/src/Umbraco.Web/Models/Mapping/UserModelMapper.cs index a693974d63..f9fe663e2f 100644 --- a/src/Umbraco.Web/Models/Mapping/UserModelMapper.cs +++ b/src/Umbraco.Web/Models/Mapping/UserModelMapper.cs @@ -132,8 +132,8 @@ namespace Umbraco.Web.Models.Mapping .ForMember(detail => detail.Username, opt => opt.MapFrom(user => user.Username)) .ForMember(detail => detail.LastLoginDate, opt => opt.MapFrom(user => user.LastLoginDate == default(DateTime) ? null : (DateTime?) user.LastLoginDate)) .ForMember(detail => detail.UserGroups, opt => opt.Ignore()) - .ForMember(detail => detail.StartContentIds, opt => opt.Ignore()) - .ForMember(detail => detail.StartMediaIds, opt => opt.Ignore()) + .ForMember(detail => detail.StartContentIds, opt => Enumerable.Empty()) + .ForMember(detail => detail.StartMediaIds, opt => Enumerable.Empty()) .ForMember(detail => detail.Culture, opt => opt.MapFrom(user => user.GetUserCulture(applicationContext.Services.TextService))) .ForMember( detail => detail.AvailableCultures, @@ -152,11 +152,18 @@ namespace Umbraco.Web.Models.Mapping .ForMember(detail => detail.AdditionalData, opt => opt.Ignore()) .AfterMap((user, display) => { - var contentItems = applicationContext.Services.EntityService.GetAll(UmbracoObjectTypes.Document, user.StartContentIds.ToArray()); - var mediaItems = applicationContext.Services.EntityService.GetAll(UmbracoObjectTypes.Document, user.StartContentIds.ToArray()); - display.StartContentIds = Mapper.Map, IEnumerable>(contentItems); - display.StartMediaIds = Mapper.Map, IEnumerable>(mediaItems); - + var startContentIds = user.StartContentIds.ToArray(); + if (startContentIds.Length > 0) + { + var contentItems = applicationContext.Services.EntityService.GetAll(UmbracoObjectTypes.Document, startContentIds); + display.StartContentIds = Mapper.Map, IEnumerable>(contentItems); + } + var startMediaIds = user.StartContentIds.ToArray(); + if (startMediaIds.Length > 0) + { + var mediaItems = applicationContext.Services.EntityService.GetAll(UmbracoObjectTypes.Document, startMediaIds); + display.StartMediaIds = Mapper.Map, IEnumerable>(mediaItems); + } display.UserGroups = Mapper.Map, IEnumerable>(user.Groups); });