using System.Data; namespace EnvelopeGenerator.ServiceHost.Extensions; public static class DataRowExtensions { public static T ItemEx(this DataRow row, string columnName, T defaultValue) { if (!row.Table.Columns.Contains(columnName)) { return defaultValue; } var value = row[columnName]; if (value is DBNull or null) { return defaultValue; } return (T)Convert.ChangeType(value, typeof(T)); } public static string ItemEx(this DataRow row, string columnName, string defaultValue) { return row.ItemEx(columnName, defaultValue); } }