Added IgnoreCreationTime.

pull/4164/head
Halil İbrahim Kalkan 5 years ago
parent 3c1657240c
commit 6b25cfcaaa

@ -15,6 +15,7 @@
</PropertyGroup>
<ItemGroup>
<ProjectReference Include="..\Volo.Abp.Auditing\Volo.Abp.Auditing.csproj" />
<ProjectReference Include="..\Volo.Abp.ObjectExtending\Volo.Abp.ObjectExtending.csproj" />
<ProjectReference Include="..\Volo.Abp.ObjectMapping\Volo.Abp.ObjectMapping.csproj" />
</ItemGroup>

@ -2,6 +2,7 @@
using AutoMapper;
using Microsoft.Extensions.DependencyInjection;
using Microsoft.Extensions.Options;
using Volo.Abp.Auditing;
using Volo.Abp.Modularity;
using Volo.Abp.ObjectExtending;
using Volo.Abp.ObjectMapping;
@ -10,7 +11,9 @@ namespace Volo.Abp.AutoMapper
{
[DependsOn(
typeof(AbpObjectMappingModule),
typeof(AbpObjectExtendingModule))]
typeof(AbpObjectExtendingModule),
typeof(AbpAuditingModule)
)]
public class AbpAutoMapperModule : AbpModule
{
public override void ConfigureServices(ServiceConfigurationContext context)

@ -1,6 +1,7 @@
using System;
using System.Linq.Expressions;
using AutoMapper;
using Volo.Abp.Auditing;
namespace Volo.Abp.AutoMapper
{
@ -10,5 +11,12 @@ namespace Volo.Abp.AutoMapper
{
return mappingExpression.ForMember(destinationMember, opts => opts.Ignore());
}
public static IMappingExpression<TSource, TDestination> IgnoreCreationTime<TSource, TDestination>(
this IMappingExpression<TSource, TDestination> mappingExpression)
where TDestination : IHasCreationTime
{
return mappingExpression.Ignore(x => x.CreationTime);
}
}
}

@ -1,5 +1,7 @@
using AutoMapper;
using System;
using AutoMapper;
using Shouldly;
using Volo.Abp.Auditing;
using Xunit;
namespace Volo.Abp.AutoMapper
@ -9,15 +11,12 @@ namespace Volo.Abp.AutoMapper
[Fact]
public void Should_Ignore_Configured_Property()
{
var configuration = new MapperConfiguration(
var mapper = CreateMapper(
cfg => cfg.CreateMap<SimpleClass1, SimpleClass2>()
.Ignore(x => x.Value2)
.Ignore(x => x.Value3)
);
configuration.AssertConfigurationIsValid();
var mapper = configuration.CreateMapper();
var obj2 = mapper.Map<SimpleClass2>(
new SimpleClass1
{
@ -31,6 +30,31 @@ namespace Volo.Abp.AutoMapper
obj2.Value3.ShouldBeNull();
}
[Fact]
public void Should_Ignore_CreationTime()
{
var mapper = CreateMapper(
cfg => cfg.CreateMap<SimpleClassWithCreationTime1, SimpleClassWithCreationTime2>()
.IgnoreCreationTime()
);
var obj2 = mapper.Map<SimpleClassWithCreationTime2>(
new SimpleClassWithCreationTime1
{
CreationTime = DateTime.Now
}
);
obj2.CreationTime.ShouldBe(default);
}
private static IMapper CreateMapper(Action<IMapperConfigurationExpression> configurer)
{
var configuration = new MapperConfiguration(configurer);
configuration.AssertConfigurationIsValid();
return configuration.CreateMapper();
}
public class SimpleClass1
{
public string Value1 { get; set; }
@ -43,5 +67,15 @@ namespace Volo.Abp.AutoMapper
public string Value2 { get; set; }
public string Value3 { get; set; }
}
public class SimpleClassWithCreationTime1 : IHasCreationTime
{
public DateTime CreationTime { get; set; }
}
public class SimpleClassWithCreationTime2 : IHasCreationTime
{
public DateTime CreationTime { get; set; }
}
}
}
Loading…
Cancel
Save