ConfirmExchange.cs 1.2 KB

123456789101112131415161718192021222324252627282930
  1. using System.Threading.Tasks;
  2. using CardCollector.Controllers;
  3. using CardCollector.DataBase.Entity;
  4. using CardCollector.Resources;
  5. using CardCollector.Session.Modules;
  6. using Telegram.Bot.Types;
  7. namespace CardCollector.Commands.CallbackQuery
  8. {
  9. public class ConfirmExchange : CallbackQueryCommand
  10. {
  11. protected override string CommandText => Command.confirm_exchange;
  12. public override async Task Execute()
  13. {
  14. var module = User.Session.GetModule<ShopModule>();
  15. if (module.EnteredExchangeSum > User.Cash.Gems)
  16. await MessageController.AnswerCallbackQuery(User, CallbackQueryId, Messages.not_enougth_gems);
  17. else
  18. {
  19. User.Cash.Gems -= module.EnteredExchangeSum;
  20. User.Cash.Coins += module.EnteredExchangeSum * 150;
  21. await MessageController.EditMessage(User, CallbackMessageId,
  22. $"{Messages.you_got} {module.EnteredExchangeSum * 150}{Text.coin} {Text.per} {module.EnteredExchangeSum}{Text.gem}");
  23. }
  24. }
  25. public ConfirmExchange() { }
  26. public ConfirmExchange(UserEntity user, Update update) : base(user, update) { }
  27. }
  28. }