Skip to content
Merged
30 changes: 30 additions & 0 deletions Source/BSN.Commons/Extensions/DateTimeOffsetExtensions.cs
Original file line number Diff line number Diff line change
@@ -0,0 +1,30 @@
using System;

namespace BSN.Commons.Extensions
{
/// <summary>
/// Provides extension methods for DateTimeOffset.
/// </summary>
public static class DateTimeOffsetExtensions
{
/// <summary>
/// Provides consistent default DateTime values across the project through centralized conversion logic.
/// </summary>
/// <remarks>
/// 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
/// </remarks>
/// <param name="dateTimeOffset">The DateTimeOffset value to convert.</param>
/// <returns>A nullable DateTime equivalent.</returns>
public static DateTime? ToDateTimeOrDefault(this DateTimeOffset? dateTimeOffset)
{
if (dateTimeOffset.HasValue) {
return (DateTime?)dateTimeOffset.Value.DateTime;
}

return default(DateTime?);
}
}
}
Loading