From 3e7ace4a7ea3634941cc3ec7f02e26056dd623ff Mon Sep 17 00:00:00 2001 From: Nikolay Kochulin Date: Fri, 11 Jan 2019 22:10:28 +0300 Subject: [PATCH] Add "you have nothing yet" feature to /status --- JetKarmaBot/Commands/StatusCommand.cs | 19 ++++++++++++------- JetKarmaBot/lang/en-US.json | 1 + JetKarmaBot/lang/ru-RU.json | 1 + 3 files changed, 14 insertions(+), 7 deletions(-) diff --git a/JetKarmaBot/Commands/StatusCommand.cs b/JetKarmaBot/Commands/StatusCommand.cs index 240531d..c095595 100644 --- a/JetKarmaBot/Commands/StatusCommand.cs +++ b/JetKarmaBot/Commands/StatusCommand.cs @@ -30,14 +30,19 @@ namespace JetKarmaBot.Commands // var awards = db.Awards.Where(x => x.ToId == asker.Id) // .GroupBy(x => x.AwardTypeId) // .Select(x => new { AwardTypeId = x.Key, Amount = x.Sum(y => y.Amount) }); - var awardsQuery = from award in db.Awards - where award.ToId == asker.Id - group award by award.AwardTypeId into g - select new { AwardTypeId = g.Key, Amount = g.Sum(x => x.Amount) }; - var awardsByType = awardsQuery.ToList(); - response = currentLocale["jetkarmabot.status.listalltext"] + "\n" - + string.Join("\n", awardsByType.Select(a => $" - {db.AwardTypes.Find(a.AwardTypeId).Symbol} {a.Amount}")); + if (!db.Awards.Any(x => x.ToId == asker.Id)) + response = currentLocale["jetkarmabot.status.havenothing"]; + else + { + var awardsQuery = from award in db.Awards + where award.ToId == asker.Id + group award by award.AwardTypeId into g + select new { AwardTypeId = g.Key, Amount = g.Sum(x => x.Amount) }; + var awardsByType = awardsQuery.ToList(); + response = currentLocale["jetkarmabot.status.listalltext"] + "\n" + + string.Join("\n", awardsByType.Select(a => $" - {db.AwardTypes.Find(a.AwardTypeId).Symbol} {a.Amount}")); + } } else { diff --git a/JetKarmaBot/lang/en-US.json b/JetKarmaBot/lang/en-US.json index 69a25dd..012ed26 100644 --- a/JetKarmaBot/lang/en-US.json +++ b/JetKarmaBot/lang/en-US.json @@ -12,6 +12,7 @@ "jetkarmabot.award.statustext": "{0} is at {1}{2} now.", "jetkarmabot.status.listalltext": "Your badges report:", "jetkarmabot.status.listspecifictext": "You are at {0}{1} now.", + "jetkarmabot.status.havenothing": "You don't have anything yet.", "jetkarmabot.changelocale.justchanged": "Roger that.", "jetkarmabot.changelocale.getlocale": "I'm currently speaking English." } diff --git a/JetKarmaBot/lang/ru-RU.json b/JetKarmaBot/lang/ru-RU.json index 5e27c10..ce2b3c8 100644 --- a/JetKarmaBot/lang/ru-RU.json +++ b/JetKarmaBot/lang/ru-RU.json @@ -13,6 +13,7 @@ "jetkarmabot.award.statustext": "У {0} теперь {1}{2}.", "jetkarmabot.status.listalltext": "У вас :", "jetkarmabot.status.listspecifictext": "У вас сейчас {0}{1}.", + "jetkarmabot.status.havenothing": "У вас пока ничего нет.", "jetkarmabot.changelocale.justchanged": "Так точно.", "jetkarmabot.changelocale.getlocale": "Я сейчас говорю по-русски." }