public InworldCurrencyBuyTransaction ( UUID agentID, uint amount, |
||
agentID | UUID | |
amount | uint | |
ep | ||
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;
}
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); }