public List<AgentTransfer> GetTransactionHistory(UUID toAgentID, UUID fromAgentID, DateTime dateStart, DateTime dateEnd, uint? start, uint? count)
{
if (m_doRemoteOnly) {
object remoteValue = DoRemoteByURL ("CurrencyServerURI", toAgentID, fromAgentID, dateStart, dateEnd, start, count);
return remoteValue != null ? (List<AgentTransfer>)remoteValue : new List<AgentTransfer> ();
}
QueryFilter filter = new QueryFilter();
if (toAgentID != UUID.Zero)
filter.andFilters["ToPrincipalID"] = toAgentID;
if (fromAgentID != UUID.Zero)
filter.andFilters["FromPrincipalID"] = fromAgentID;
// back to UTC please...
dateStart = dateStart.ToUniversalTime ();
dateEnd = dateEnd.ToUniversalTime ();
filter.andGreaterThanEqFilters["Created"] = Utils.DateTimeToUnixTime(dateStart); // from...
filter.andLessThanEqFilters["Created"] = Utils.DateTimeToUnixTime(dateEnd); //...to
Dictionary<string, bool> sort = new Dictionary<string, bool>(1);
sort["Created"] = false; // descending order
//sort["FromName"] = true;
List<string> query = GD.Query (new string[] { "*" }, _REALMHISTORY, filter, sort, start, count);
return ParseTransferQuery(query);
}