Reputation: 68740
Using version 4.
How do I check for null when doing a map? I tried the .Value
, but that's not there on a Null
:
Mapper.CreateMap<Agenda, AgendaViewModel>()
.ForMember(x => x.DateApproved,
y => y.MapFrom(s => DateTime.SpecifyKind(s.DateApproved.Value, DateTimeKind.Utc)));
Upvotes: 13
Views: 19528
Reputation: 10879
Alternatively, you can just check the HasValue
property prior to mapping:
Mapper.CreateMap<Agenda, AgendaViewModel>()
.ForMember(x => x.DateApproved,
y => y.MapFrom(s => s.DateApproved.HasValue ?
DateTime.SpecifyKind(s.DateApproved.Value, DateTimeKind.Utc) :
DateTime.UtcNow));
Upvotes: 14
Reputation: 30022
I think this would work:
Mapper.CreateMap<Agenda, AgendaViewModel>()
.ForMember(x => x.DateApproved,
y => y.ResolveUsing(z => z.DateApproved.HasValue
? DateTime.UtcNow :
Mapper.Map<Agenda, AgendaViewModel>
(DateTime.SpecifyKind(z.DateApproved.Value, DateTimeKind.Utc)));
Upvotes: 2