45 lines
1.3 KiB
C#
45 lines
1.3 KiB
C#
// Copyright (c) 2023-present schick Informatik
|
|
// Description: Async variant of DatabaseEntity
|
|
|
|
using System;
|
|
using System.Collections.Generic;
|
|
using System.Data;
|
|
using System.Data.SqlClient;
|
|
using System.Threading.Tasks;
|
|
|
|
namespace bsmd.database
|
|
{
|
|
public abstract class DatabaseEntityAsync : DatabaseEntity
|
|
{
|
|
protected abstract DatabaseEntityAsync ReadRowFromReader(IDataReader reader);
|
|
|
|
public async Task<List<DatabaseEntityAsync>> LoadListAsync(SqlDataReader reader)
|
|
{
|
|
List<DatabaseEntityAsync> result = new List<DatabaseEntityAsync>();
|
|
if (reader != null)
|
|
{
|
|
while (await reader.ReadAsync())
|
|
{
|
|
result.Add(ReadRowFromReader(reader));
|
|
}
|
|
reader.Close();
|
|
}
|
|
return result;
|
|
}
|
|
|
|
public override List<DatabaseEntity> LoadList(IDataReader reader)
|
|
{
|
|
List<DatabaseEntity> result = new List<DatabaseEntity>();
|
|
if (reader != null)
|
|
{
|
|
while (reader.Read())
|
|
{
|
|
result.Add(ReadRowFromReader(reader));
|
|
}
|
|
reader.Close();
|
|
}
|
|
return result;
|
|
}
|
|
}
|
|
}
|