Exemplo n.º 1
0
        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);
        }
Exemplo n.º 2
0
        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));
        }