diff --git a/JetKarmaBot/Commands/LeaderboardCommand.cs b/JetKarmaBot/Commands/LeaderboardCommand.cs index eddc576..a37ac85 100644 --- a/JetKarmaBot/Commands/LeaderboardCommand.cs +++ b/JetKarmaBot/Commands/LeaderboardCommand.cs @@ -28,24 +28,22 @@ namespace JetKarmaBot.Commands string response; if (string.IsNullOrWhiteSpace(awardTypeName)) - response = currentLocale["jetkarmabot.leaderboard.noallawardtypes"]; - else - { - var awardTypeIdQuery = from awt in db.AwardTypes - where awt.CommandName == awardTypeName - select awt.AwardTypeId; - var awardTypeId = awardTypeIdQuery.First(); - var awardType = db.AwardTypes.Find(awardTypeId); + awardTypeName = "star"; - response = string.Format(currentLocale["jetkarmabot.leaderboard.specifictext"], awardType.Symbol) + "\n" + string.Join('\n', db.Awards - .Where(x => x.ChatId == args.Message.Chat.Id && x.AwardTypeId == awardTypeId) - .GroupBy(x => x.ToId) - .Select(x => new {UserId = x.Key, Amount = x.Sum(y => y.Amount)}) - .OrderByDescending(x => x.Amount) - .Take(5) - .ToList() - .Select((x,index) => $"{index+1}. {db.Users.Find(x.UserId).Username} - {x.Amount}")); - } + var awardTypeIdQuery = from awt in db.AwardTypes + where awt.CommandName == awardTypeName + select awt.AwardTypeId; + var awardTypeId = awardTypeIdQuery.First(); + var awardType = db.AwardTypes.Find(awardTypeId); + + response = string.Format(currentLocale["jetkarmabot.leaderboard.specifictext"], awardType.Symbol) + "\n" + string.Join('\n', db.Awards + .Where(x => x.ChatId == args.Message.Chat.Id && x.AwardTypeId == awardTypeId) + .GroupBy(x => x.ToId) + .Select(x => new {UserId = x.Key, Amount = x.Sum(y => y.Amount)}) + .OrderByDescending(x => x.Amount) + .Take(5) + .ToList() + .Select((x,index) => $"{index+1}. {db.Users.Find(x.UserId).Username} - {x.Amount}")); Client.SendTextMessageAsync( args.Message.Chat.Id, diff --git a/JetKarmaBot/lang/be-BY.json b/JetKarmaBot/lang/be-BY.json index 6e1e596..21fb439 100644 --- a/JetKarmaBot/lang/be-BY.json +++ b/JetKarmaBot/lang/be-BY.json @@ -35,7 +35,6 @@ "jetkarmabot.currencies.listtext": "Тыпы узнагарод:", "jetkarmabot.leaderboard.help": "", "jetkarmabot.leaderboard.awardtypehelp": "", - "jetkarmabot.leaderboard.noallawardtypes": "", "jetkarmabot.leaderboard.specifictext": "", "jetkarmabot.awardtypes.nominative.star": "зорачка", "jetkarmabot.awardtypes.nominative.pie": "з паліцы піражок", diff --git a/JetKarmaBot/lang/en-US.json b/JetKarmaBot/lang/en-US.json index fa6fbde..5036ce1 100644 --- a/JetKarmaBot/lang/en-US.json +++ b/JetKarmaBot/lang/en-US.json @@ -34,7 +34,6 @@ "jetkarmabot.currencies.listtext": "Award types:", "jetkarmabot.leaderboard.help": "Shows the people with the most of a specific award.", "jetkarmabot.leaderboard.awardtypehelp": "The awardtype to show a leaderboard for.", - "jetkarmabot.leaderboard.noallawardtypes": "Sorry, but leaderboards for all award types are not implemented yet.", "jetkarmabot.leaderboard.specifictext": "Leaderboard for {0}:", "jetkarmabot.awardtypes.nominative.star": "star", "jetkarmabot.awardtypes.nominative.pie": "pie from the shelf", diff --git a/JetKarmaBot/lang/ru-RU.json b/JetKarmaBot/lang/ru-RU.json index 70d4355..e6543b2 100644 --- a/JetKarmaBot/lang/ru-RU.json +++ b/JetKarmaBot/lang/ru-RU.json @@ -34,7 +34,6 @@ "jetkarmabot.currencies.listtext": "Типы наград:", "jetkarmabot.leaderboard.help": "Таблица лидеров по количеству наград", "jetkarmabot.leaderboard.awardtypehelp": "Тип награды, по которой покажется отчет.", - "jetkarmabot.leaderboard.noallawardtypes": "Сводные таблицы пока не поддерживаются.", "jetkarmabot.leaderboard.specifictext": "Передовики в номинации \"{0}\":", "jetkarmabot.awardtypes.nominative.star": "звездочка", "jetkarmabot.awardtypes.nominative.pie": "с полки пирожок",