This commit is contained in:
skidoodle 2024-03-13 00:33:46 +01:00
commit e124a47765
19374 changed files with 9806149 additions and 0 deletions

View file

@ -0,0 +1,38 @@
using System;
using System.Collections.Generic;
using System.Data;
using System.Linq;
namespace Kreta.DataAccessManual.Extensions
{
public static class DataSetExtensions
{
public static List<int> GetIdListFromFirstTable(this DataSet dataSet)
{
return dataSet.Tables[0]
.AsEnumerable()
.Select(r => r.Field<int>("ID"))
.ToList();
}
public static DataTable ConvertColumnTypes(this DataTable dataTable, Dictionary<string, Type> columnNameColumnTypeDictionary)
{
var clonedDataTable = dataTable.Clone();
foreach (var columnNameColumnType in columnNameColumnTypeDictionary)
{
clonedDataTable.Columns[columnNameColumnType.Key].DataType = columnNameColumnType.Value;
}
foreach (DataRow dataRow in dataTable.Rows)
{
clonedDataTable.ImportRow(dataRow);
}
return clonedDataTable;
}
public static DataTable ConvertColumnType(this DataTable dataTable, string columnName, Type newType)
{
return dataTable.ConvertColumnTypes(new Dictionary<string, Type> { { columnName, newType } });
}
}
}