using System; using System.Data; namespace EnvelopeGenerator.CommonServices.Jobs; public static class DataRowExtensions { public static T? GetValueOrDefault(this DataRow row, string columnName, T? defaultValue = default) { if (!row.Table.Columns.Contains(columnName)) { return defaultValue; } var value = row[columnName]; if (value == DBNull.Value) { return defaultValue; } try { return (T)Convert.ChangeType(value, typeof(T)); } catch { return defaultValue; } } }