public static DateTimeOffset?GetBirthDate(this IBirthDateTimeZone birthDate, bool forceLocal = true) { if (!birthDate.BirthDate.HasValue) { return(null); } return(new DateTimeOffset(birthDate.BirthDate.Value.Year, birthDate.BirthDate.Value.Month, birthDate.BirthDate.Value.Day, 0, 0, 0, forceLocal ? TimeZoneInfo.Local.BaseUtcOffset : TimeSpan.FromHours(birthDate.BirthDateTimeZone))); }
public static void SetBirthDate(this IBirthDateTimeZone birthDate, DateTimeOffset?value) { if (!value.HasValue) { birthDate.BirthDate = null; birthDate.BirthDateTimeZone = 0; } else { birthDate.BirthDate = new DateTime(value.Value.Year, value.Value.Month, value.Value.Day, 0, 0, 0, birthDate.BirthDate?.Kind ?? DateTimeKind.Unspecified); birthDate.BirthDateTimeZone = (sbyte)value.Value.Offset.TotalHours; } }