// 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.Linq; using System.Text; using System.Threading.Tasks; namespace bsmd.database { public abstract class DatabaseEntityAsync : DatabaseEntity { protected abstract DatabaseEntityAsync ReadRowFromReader(IDataReader reader); public async Task> LoadListAsync(SqlDataReader reader) { List result = new List(); if (reader != null) { while (await reader.ReadAsync()) { result.Add(ReadRowFromReader(reader)); } reader.Close(); } return result; } public override List LoadList(IDataReader reader) { List result = new List(); if (reader != null) { while (reader.Read()) { result.Add(ReadRowFromReader(reader)); } reader.Close(); } return result; } } }