AS400_API_DOTNET/Infrastructure/DataReaderExtensions.cs
2025-10-17 16:01:56 +07:00

31 lines
808 B
C#

using System;
using System.Data.Common;
namespace AS400API.Infrastructure;
public static class DataReaderExtensions
{
public static object? GetNormalizedValue(this DbDataReader reader, int ordinal)
{
if (reader.IsDBNull(ordinal))
{
return null;
}
var value = reader.GetValue(ordinal);
if (value is string stringValue)
{
var dataTypeName = reader.GetDataTypeName(ordinal)?.Trim();
if (!string.IsNullOrEmpty(dataTypeName)
&& dataTypeName.StartsWith("CHAR", StringComparison.OrdinalIgnoreCase)
&& !dataTypeName.Contains("VARYING", StringComparison.OrdinalIgnoreCase))
{
return stringValue.TrimEnd();
}
}
return value;
}
}