Universe.Modules.Currency.BaseCurrencyConnector.InworldCurrencyBuyTransaction C# (CSharp) Method

InworldCurrencyBuyTransaction() public method

public InworldCurrencyBuyTransaction ( UUID agentID, uint amount, IPEndPoint ep ) : bool
agentID UUID
amount uint
ep System.Net.IPEndPoint
return bool
        public bool InworldCurrencyBuyTransaction(UUID agentID, uint amount, IPEndPoint ep)
        {
            amount = (uint)CheckMinMaxTransferSettings(agentID, amount);
            if (amount == 0)
                return false;
            
            UserCurrencyTransfer(
                agentID,
                UUID.Zero,
                amount,
                "Currency Exchange",
                TransactionType.BuyMoney,
                UUID.Zero
            );

            //Log to the database
            List<object> values = new List<object> {
                UUID.Random (),                         // TransactionID
                agentID.ToString (),                    // PrincipalID
                ep.ToString (),                         // IP
                amount,                                // Amount
                CalculateEstimatedCost(amount),        // Actual cost
                Utils.GetUnixTime(),                   // Created
                Utils.GetUnixTime()                    // Updated
            };

            GD.Insert(_REALMPURCHASE, values.ToArray());
            return true;
        }

Usage Example

Example #1
0
        public XmlRpcResponse BuyFunc(XmlRpcRequest request, IPEndPoint ep)
        {
            Hashtable requestData = (Hashtable)request.Params[0];
            bool      success     = false;

            if (requestData.ContainsKey("agentId") && requestData.ContainsKey("currencyBuy") &&
                m_connector.GetConfig().CanBuyCurrencyInworld)
            {
                UUID agentId;
                if (UUID.TryParse((string)requestData["agentId"], out agentId))
                {
                    uint amountBuying = uint.Parse(requestData["currencyBuy"].ToString());
                    success = m_connector.InworldCurrencyBuyTransaction(agentId, amountBuying, ep);
                }
            }
            XmlRpcResponse returnval  = new XmlRpcResponse();
            Hashtable      returnresp = new Hashtable {
                { "success", success }
            };

            returnval.Value = returnresp;
            return(returnval);
        }