namespace AutomapperSample
public Guid? StatusId { get; set; }
public Status Status { get; set; }
public DateTime? StatusLastModified { get; set; }
public string Name { get; set; }
public TaskStatusDto? Status { get; set; }
public struct TaskStatusDto
public DateTime Timestamp { get; set; }
public StatusDto Status { get; set; }
public string Name { get; set; }
public class TaskStatusDtoResolver : IValueResolver<Task, TaskDto, TaskStatusDto?>
public TaskStatusDto? Resolve(Task source, TaskDto destination, TaskStatusDto? member, ResolutionContext context)
if (source.Status == null)
Status = context.Mapper.Map<StatusDto>(source.Status),
Timestamp = source.StatusLastModified == null ? DateTime.Now : source.StatusLastModified.Value