Пример #1
0
        public static object InsertTransaction(NpgsqlConnection conn, string id, bool createTransferRecord = false)
        {
            MWithdrawal withdrawal = new MWithdrawal();

            withdrawal = WithdrawalUtilities.GetWithdrawal(conn, id);
            Classes.Instbtc.Models.TransactionModel transaction = new Classes.Instbtc.Models.TransactionModel();

            if (withdrawal.transaction_currency == "BTC")
            {
                #region Transaction Object BTC Wds
                transaction = new Classes.Instbtc.Models.TransactionModel()
                {
                    Psp_ID            = 2,
                    Deposit_Currency  = "USD",
                    Deposit_Amount    = (decimal)withdrawal.UsdConversion * -1,
                    Exchange_Currency = "BTC",
                    Exchange_Amount   = withdrawal.Amount * -1,
                    Created_Date      = DateTime.UtcNow,
                    Client_ID         = withdrawal.UserId,
                    Psp_Status        = "Approved",
                    Credited_Status   = "Credited",
                    type = TransactionType.WITHDRAWAL,
                    Transaction_Currency = withdrawal.transaction_currency
                };
                #endregion
            }

            else if (withdrawal.transaction_currency == "EUR")
            {
                #region Transaction Object BTC Wds
                transaction = new Classes.Instbtc.Models.TransactionModel()
                {
                    Psp_ID            = 2,
                    Deposit_Currency  = "EUR",
                    Deposit_Amount    = withdrawal.Amount * -1,
                    Exchange_Currency = "EUR",
                    Exchange_Amount   = withdrawal.Amount * -1,
                    Created_Date      = DateTime.UtcNow,
                    Client_ID         = withdrawal.UserId,
                    Psp_Status        = "Approved",
                    Credited_Status   = "Credited",
                    type = TransactionType.WITHDRAWAL,
                    Transaction_Currency = withdrawal.transaction_currency
                };
                #endregion
            }

            object res;

            if (createTransferRecord is false)
            {
                res = Classes.Instbtc.Create.Transactions.CreateTransaction(transaction);
            }
            else
            {
                res = Classes.Instbtc.Create.Transactions.CreateTransaction(transaction);

                if (res.ToString() != "Internal Error" && !string.IsNullOrEmpty(res.ToString()))
                {
                    bool isCreateTransferSuccess = TransferUtility.CreateTransfer((int)res, transaction);
                    if (isCreateTransferSuccess)
                    {
                        return(res);
                    }
                    else
                    {
                        res = "Error";
                    }
                }
            }

            return(res);
        }