ConfirmExchange.cs 1.3 KB

123456789101112131415161718192021222324252627282930313233
  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. protected override bool ClearMenu => false;
  13. protected override bool AddToStack => false;
  14. public override async Task Execute()
  15. {
  16. var module = User.Session.GetModule<ShopModule>();
  17. if (module.EnteredExchangeSum > User.Cash.Gems)
  18. await MessageController.AnswerCallbackQuery(User, CallbackQueryId, Messages.not_enougth_gems);
  19. else
  20. {
  21. User.Cash.Gems -= module.EnteredExchangeSum;
  22. User.Cash.Coins += module.EnteredExchangeSum * 150;
  23. await MessageController.EditMessage(User, CallbackMessageId,
  24. $"{Messages.you_got} {module.EnteredExchangeSum * 150}{Text.coin} {Text.per} {module.EnteredExchangeSum}{Text.gem}");
  25. }
  26. }
  27. public ConfirmExchange() { }
  28. public ConfirmExchange(UserEntity user, Update update) : base(user, update) { }
  29. }
  30. }