public async Task RepBoardAsync(int count) { DiscordUsers discordUsers = ReputationDataAccess.Instance.GetRepBoard(count); string tableFormat = "{0,-32}|{1,-12}"; StringBuilder stringBuilder = new StringBuilder(String.Format($"{tableFormat}{Environment.NewLine}", "UserName", "Reputation")); foreach (DiscordUser user in discordUsers) { stringBuilder.Append(String.Format($"{tableFormat}{Environment.NewLine}", user.UserName, user.ReputationValue)); } ReplyAsyncCodeBlock(stringBuilder.ToString()); }
public DiscordUsers GetRepBoard(int count) { DiscordUsers discordUsers = new DiscordUsers(); try { using (SqlConnection connection = new SqlConnection(ConnectionString)) { string query = "Select TOP (@count) [UserName], [TotalReputation] " + "FROM [ReputationBot].[dbo].[Reputation_View]" + "ORDER BY TotalReputation DESC"; SqlCommand command = new SqlCommand(query, connection); command.Parameters.AddWithValue("@count", count); try { connection.Open(); using (SqlDataReader reader = command.ExecuteReader()) { while (reader.Read()) { DiscordUser user = new DiscordUser(reader); discordUsers.Add(user); } } } catch (Exception) { Console.WriteLine($"Error occured getting repboard"); } finally { connection.Close(); } } } catch (Exception ex) { Console.WriteLine($"Error occured connecting to SQL: {ex.ToString()}"); } return(discordUsers); }