Exemplo n.º 1
0
        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);
        }
Exemplo n.º 2
0
        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);
        }