예제 #1
0
        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());
        }
예제 #2
0
        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);
        }