private async Task <Boolean> CheckIdTransaction(TelegramBotClient botClient) { Transaction found = db.GetTransactionByHash(_message.Text); TransactionId errTran = db.GetFailedTransactionByHash(_message.Text); Boolean isAlreadyUsed = (found != null || errTran != null); if (isAlreadyUsed) { AddIdTransactionFalse(); botClient.DeleteMessage(_message.From.Id, _message.MessageId, "48 - SetBlockChain"); botClient.EditMessage(_message.From.Id, user.MessageID, "Данная транзакция уже была использованна или она не действительная!", "51 - SetIdTransaction", user, replyMarkup: InlineButtonBlockchain.TransactionCreationGuarantor(transaction)); return(false); } Money money = null; try { switch (transaction.PaymentId) { case 0: { return(false); } case 1: // BTC { addresBTC = db.GetAddresBTCInt(transaction.AddresBTCId); money = await BlockchainManager.Instance.GetBTCTransactionMoney(_message.Text, addresBTC); break; } case 3: // Eth { money = await BlockchainManager.Instance.GetETHTransactionMoney(_message.Text); break; } case 4: // Ripple { money = await BlockchainManager.Instance.GetXRPTransactionMoney(_message.Text); break; } } } catch { AddIdTransactionIsNotBD(); botClient.DeleteMessage(_message.From.Id, _message.MessageId, "48 - SetBlockChain"); botClient.EditMessage(_message.From.Id, user.MessageID, "Данная транзакция не действительная или она не была подтвержденна, попробуйте ввести транзакцию позже!", "86 - SetIdTransaction", user, replyMarkup: InlineButtonBlockchain.TransactionCreationGuarantor(transaction)); return(false); } if (money == null) { AddIdTransactionFalse(); botClient.DeleteMessage(_message.From.Id, _message.MessageId, "48 - SetBlockChain"); botClient.EditMessage(_message.From.Id, user.MessageID, "Данная транзакция не действительная или она не была подтвержденна, попробуйте ввести транзакцию позже!", "92 - SetIdTransaction", user, replyMarkup: InlineButtonBlockchain.TransactionCreationGuarantor(transaction)); return(false); } Decimal dec = money.ToDecimal(MoneyUnit.BTC); Decimal percent = Convert.ToDecimal(0.15); if (dec < transaction.SumPayNew) { switch (transaction.PaymentId) { case 1: { addresBTC = db.GetAddresBTCInt(transaction.AddresBTCId); await BlockchainManager.Instance.SendBTC(transaction.PublicKeyWalletSender, dec, 0, addresBTC); break; } case 3: { await BlockchainManager.Instance.SendETHBackByHash(_message.Text); break; } case 4: { await BlockchainManager.Instance.SendXRPBackByHash(_message.Text); break; } } AddIdTransactionFalse(); botClient.DeleteMessage(_message.From.Id, _message.MessageId, "48 - SetBlockChain"); botClient.EditMessage(_message.From.Id, user.MessageID, "Вы отправили меньше денег нежелеи заявили, ваши деньги были возращены на ваш кошелек!", "122 - SetIdTransaction", user, replyMarkup: InlineButtonBlockchain.TransactionCreationGuarantor(transaction)); return(false); } AddIdTransaction(); return(true); }
private void SendMessage(TelegramBotClient botClient, Message _message) { botClient.DeleteMessage(_message.From.Id, _message.MessageId, "23 - SetIdTransaction"); String text = $"Отправитель: {transaction.UserSender.FIO}\nКомиссия: "; text += transaction.WhoCommissionPay == true ? "получатель" : "отправитель"; text += $"\nСумма: {transaction.SumPayNew}\nВалюта: "; text += transaction.PaymentId == 1 ? "BTC" : transaction.PaymentId == 2 ? "USDT" : transaction.PaymentId == 3 ? "Ethereum" : transaction.PaymentId == 4 ? "Ripple" : "не выбрана!"; botClient.EditMessage(_message.From.Id, user.MessageID, text, "29 - SetIdTransaction", user, replyMarkup: InlineButtonBlockchain.TransactionCreationGuarantor(transaction)); }