Я вытягиваю список клиентов, оставленных присоединиться к встречам.Поскольку у всех клиентов могут не быть встречи, основываясь на этом ответе , у меня есть следующая конфигурация Automapper:
Mapper.CreateMap<Event, EventDetailsViewModel>()
.ForMember(dest => dest.StartDateTime, opt => opt.MapFrom(
src => src.StartDateTime == DateTime.MinValue ? "" : DateTimeHelper.ConvertFromUtc(src.StartDateTime, src.TimeZoneId)
.ToString("MM/dd/yyyy hh:mm tt", System.Globalization.CultureInfo.InvariantCulture)))
.ForMember(dest => dest.EndDateTime, opt => opt.MapFrom(
src => src.StartDateTime == DateTime.MinValue ? "" : DateTimeHelper.ConvertFromUtc(src.EndDateTime, src.TimeZoneId)
.ToString("MM/dd/yyyy hh:mm tt", System.Globalization.CultureInfo.InvariantCulture)))
.IgnoreAllNonExisting();
И DateTimeHelper прост:
public static class DateTimeHelper
{
public static DateTime ConvertToUtc(DateTime thisDate, string timeZoneId)
{
return TimeZoneInfo.ConvertTimeToUtc(thisDate, TimeZoneInfo.FindSystemTimeZoneById(timeZoneId));
}
public static DateTime ConvertFromUtc(DateTime thisDate, string timeZoneId)
{
return TimeZoneInfo.ConvertTimeFromUtc(thisDate, TimeZoneInfo.FindSystemTimeZoneById(timeZoneId));
}
}
Я проверил, что StartDateTime - «01.01.10001 12:00:00 AM», но каким-то образом проверка DateTime.MinValue не работает, и он переходит к DateTimeHelper, который, конечно, затем вызывает исключение.
Чего мне не хватает?