diff --git a/bsmd.database/DBManagerAsync.cs b/bsmd.database/DBManagerAsync.cs index b83b72e4..b7599b0a 100644 --- a/bsmd.database/DBManagerAsync.cs +++ b/bsmd.database/DBManagerAsync.cs @@ -81,7 +81,7 @@ namespace bsmd.database MaerskData md = new MaerskData(); md.PrepareLoadCommand(cmd, Message.LoadFilter.BY_CORE, messageCoreId); SqlDataReader reader = await PerformCommandAsync(cmd); - List resultList = await md.LoadListAsync(reader); + List resultList = (await md.LoadListAsync(reader)).ConvertAll(x => (MaerskData) x); MaerskData result = null; if(resultList.Count > 0) { diff --git a/bsmd.database/MaerskData.cs b/bsmd.database/MaerskData.cs index 8e6801b8..02a312f9 100644 --- a/bsmd.database/MaerskData.cs +++ b/bsmd.database/MaerskData.cs @@ -19,7 +19,7 @@ namespace bsmd.database /// we use a generic storage class called "XtraData" that hopefully might be useful in another /// future scenario as well /// - public class MaerskData : DatabaseEntity, IEquatable, IComparable + public class MaerskData : DatabaseEntityAsync, IEquatable, IComparable { #region Construction @@ -124,7 +124,7 @@ namespace bsmd.database #endregion - #region abstract DatabaseEntity method implementation + #region abstract DatabaseEntityAsync method implementation public override List LoadList(IDataReader reader) { @@ -138,23 +138,9 @@ namespace bsmd.database reader.Close(); } return result; - } + } - 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; - } - - private MaerskData ReadRowFromReader(IDataReader reader) + protected override DatabaseEntityAsync ReadRowFromReader(IDataReader reader) { MaerskData md = null; if (reader != null)