Update ContentMapper to display variant information for bool Published and UpdateDate for Variant ListView

This commit is contained in:
Warren Buckley
2018-09-11 12:33:32 +01:00
parent af3e5f2db0
commit d39bb96056

View File

@@ -1,4 +1,5 @@
using System.Linq;
using System;
using System.Linq;
using AutoMapper;
using Umbraco.Core;
using Umbraco.Core.Models;
@@ -80,6 +81,8 @@ namespace Umbraco.Web.Models.Mapping
.ForMember(dest => dest.ContentTypeAlias, opt => opt.MapFrom(src => src.ContentType.Alias))
.ForMember(dest => dest.Alias, opt => opt.Ignore())
.ForMember(dest => dest.AdditionalData, opt => opt.Ignore())
.ForMember(dest => dest.UpdateDate, opt => opt.ResolveUsing<CultureUpdateDateResolver>())
.ForMember(dest => dest.Published, opt => opt.ResolveUsing<CulturePublishedResolver>())
.ForMember(dest => dest.Name, opt => opt.ResolveUsing<CultureNameResolver>());
//FROM IContent TO ContentPropertyCollectionDto
@@ -88,6 +91,24 @@ namespace Umbraco.Web.Models.Mapping
}
}
internal class CultureUpdateDateResolver : IValueResolver<IContent, ContentItemBasic<ContentPropertyBasic>, DateTime>
{
public DateTime Resolve(IContent source, ContentItemBasic<ContentPropertyBasic> destination, DateTime destMember, ResolutionContext context)
{
var culture = context.GetCulture();
return source.GetPublishDate(culture).HasValue ? source.GetPublishDate(culture).Value : source.UpdateDate;
}
}
internal class CulturePublishedResolver : IValueResolver<IContent, ContentItemBasic<ContentPropertyBasic>, bool>
{
public bool Resolve(IContent source, ContentItemBasic<ContentPropertyBasic> destination, bool destMember, ResolutionContext context)
{
var culture = context.GetCulture();
return source.IsCulturePublished(culture);
}
}
internal class CultureNameResolver : IValueResolver<IContent, ContentItemBasic<ContentPropertyBasic>, string>
{
public string Resolve(IContent source, ContentItemBasic<ContentPropertyBasic> destination, string destMember, ResolutionContext context)