Files
Umbraco-CMS/src/Umbraco.Web/Models/Mapping/EntityModelMapperExtensions.cs

42 lines
1.5 KiB
C#

using AutoMapper;
using Umbraco.Core.Models.EntityBase;
using Umbraco.Web.Models.ContentEditing;
namespace Umbraco.Web.Models.Mapping
{
/// <summary>
/// Mapping extension methods for re-use with other mappers (saves code duplication)
/// </summary>
internal static class EntityModelMapperExtensions
{
/// <summary>
/// Ignores readonly properties and the date values
/// </summary>
/// <param name="mapping"></param>
/// <returns></returns>
public static IMappingExpression<TSource, TDest> IgnoreDeletableEntityCommonProperties<TSource, TDest>(
this IMappingExpression<TSource, TDest> mapping)
where TDest: IDeletableEntity
{
return mapping
.IgnoreEntityCommonProperties()
.ForMember(dest => dest.DeletedDate, map => map.Ignore());
}
/// <summary>
/// Ignores readonly properties and the date values
/// </summary>
/// <param name="mapping"></param>
/// <returns></returns>
public static IMappingExpression<TSource, TDest> IgnoreEntityCommonProperties<TSource, TDest>(
this IMappingExpression<TSource, TDest> mapping)
where TDest : IEntity
{
return mapping
.IgnoreAllPropertiesWithAnInaccessibleSetter()
.ForMember(dest => dest.CreateDate, map => map.Ignore())
.ForMember(dest => dest.UpdateDate, map => map.Ignore());
}
}
}