diff --git a/EnvelopeGenerator.ServiceHost/Extensions/DataRowExtensions.cs b/EnvelopeGenerator.ServiceHost/Extensions/DataRowExtensions.cs new file mode 100644 index 00000000..b5fa51c3 --- /dev/null +++ b/EnvelopeGenerator.ServiceHost/Extensions/DataRowExtensions.cs @@ -0,0 +1,27 @@ +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); + } +} \ No newline at end of file