private static (uint Results, IReadOnlyList <IPrivateMessage> PMs) ParseSqlMultiplePMs(Task <DbDataReader> task) { uint results = 0; List <IPrivateMessage> pms = new List <IPrivateMessage>(); if (task.IsCompletedSuccessfully) { DbDataReader reader = task.Result; while (reader?.Read() ?? false) { if (results == 0) { results = (uint)(long)reader["results"]; } pms.Add(PrivateMessageManager.ParseSqlPrivateMessage(reader)); } } else if (task.IsFaulted) { PrivateMessageManager.Logger.Error($"Failed to load {nameof(IPrivateMessage)} from sql", task.Exception); } return(results, pms); }
private static IPrivateMessage ParseSqlPm(Task <DbDataReader> task) { if (task.IsCompletedSuccessfully) { DbDataReader reader = task.Result; if (reader?.Read() ?? false) { return(PrivateMessageManager.ParseSqlPrivateMessage(reader)); } } else if (task.IsFaulted) { PrivateMessageManager.Logger.Error($"Failed to load {nameof(IPrivateMessage)} from sql", task.Exception); } return(null); }