|
@@ -1,3 +1,4 @@
|
|
|
+using System.Collections.Generic;
|
|
|
using System.Linq;
|
|
|
using System.Threading.Tasks;
|
|
|
using MafiaTelegramBot.DataBase.EntityDao;
|
|
@@ -15,9 +16,30 @@ namespace MafiaTelegramBot.Models.Inlines
|
|
|
await DeletePreviousMessage(ChatId, update.CallbackQuery.Message.MessageId);
|
|
|
var user = await UserDao.GetPlayerById(UserId);
|
|
|
var opened = user.OpenedRoles.ToList();
|
|
|
- if (opened.Count > 3) return await Bot.SendWithMarkdown2(ChatId, opened.Where(role => role is not (Roles.Cop or Roles.Don or Roles.Doctor))
|
|
|
- .Aggregate(strings.your_opened_roles_list, (current, role) => current + $"\n{roles.ResourceManager.GetString(role.ToString())}"));
|
|
|
- return await Bot.SendWithMarkdown2(ChatId, strings.you_dont_have_any_extended_role);
|
|
|
+ var tier2 = Utilities.TierDictionary[2].Intersect(opened).ToList();
|
|
|
+ var tier3 = Utilities.TierDictionary[3].Intersect(opened).ToList();
|
|
|
+ var tier4 = Utilities.TierDictionary[4].Intersect(opened).ToList();
|
|
|
+ var tier5 = Utilities.TierDictionary[5].Intersect(opened).ToList();
|
|
|
+ var message = $"{strings.opened_roles}:";
|
|
|
+ if (Utilities.TierDictionary[0].Count > 0)
|
|
|
+ message += AddMessage(Utilities.TierDictionary[0], strings.classic);
|
|
|
+ if (tier2.Count > 0)
|
|
|
+ message += AddMessage(tier2, strings.rare);
|
|
|
+ if (tier3.Count > 0)
|
|
|
+ message += AddMessage(tier3, strings.mythic);
|
|
|
+ if (tier4.Count > 0)
|
|
|
+ message += AddMessage(tier4, strings.epic);
|
|
|
+ if (tier5.Count > 0)
|
|
|
+ message += AddMessage(tier5, strings.legendary);
|
|
|
+ return await Bot.SendWithMarkdown2(ChatId, message);
|
|
|
+ }
|
|
|
+
|
|
|
+ private string AddMessage(List<Roles> list, string rarity)
|
|
|
+ {
|
|
|
+ var result = $"\n\n{strings.rarity}: {rarity}";
|
|
|
+ foreach (var role in list)
|
|
|
+ result += $"\n{roles.ResourceManager.GetString(role.ToString())}";
|
|
|
+ return result;
|
|
|
}
|
|
|
}
|
|
|
}
|