diff --git a/Source/BSN.Commons/Extensions/DateTimeOffsetExtensions.cs b/Source/BSN.Commons/Extensions/DateTimeOffsetExtensions.cs new file mode 100644 index 0000000..9ef489b --- /dev/null +++ b/Source/BSN.Commons/Extensions/DateTimeOffsetExtensions.cs @@ -0,0 +1,30 @@ +using System; + +namespace BSN.Commons.Extensions +{ + /// + /// Provides extension methods for DateTimeOffset. + /// + public static class DateTimeOffsetExtensions + { + /// + /// Provides consistent default DateTime values across the project through centralized conversion logic. + /// + /// + /// This extension method provides a standardized way to convert DateTimeOffset to DateTime: + /// - Maintains consistent null handling across the project + /// - Optimized for use in LINQ and Lambda expressions + /// - Ensures type-safe conversions in query projections + /// + /// The DateTimeOffset value to convert. + /// A nullable DateTime equivalent. + public static DateTime? ToDateTimeOrDefault(this DateTimeOffset? dateTimeOffset) + { + if (dateTimeOffset.HasValue) { + return (DateTime?)dateTimeOffset.Value.DateTime; + } + + return default(DateTime?); + } + } +} \ No newline at end of file