/// <summary> /// Sends the transactions that the group has done over the given time period /// </summary> /// <param name="client"></param> /// <param name="agentID"></param> /// <param name="groupID"></param> /// <param name="transactionID"></param> /// <param name="sessionID"></param> /// <param name="currentInterval"></param> /// <param name="intervalDays"></param> void client_OnGroupAccountTransactionsRequest(IClientAPI client, UUID agentID, UUID groupID, UUID transactionID, UUID sessionID, int currentInterval, int intervalDays) { IGroupsModule groupsModule = client.Scene.RequestModuleInterface <IGroupsModule> (); if (groupsModule != null && groupsModule.GroupPermissionCheck(agentID, groupID, GroupPowers.Accountable)) { IMoneyModule moneyModule = client.Scene.RequestModuleInterface <IMoneyModule> (); if (moneyModule != null) { List <GroupAccountHistory> history = moneyModule.GetGroupTransactions(groupID, agentID, currentInterval, intervalDays); //We want payments for things only, not stipends history = ( from h in history where h.Payment select h).ToList(); GroupBalance balance = moneyModule.GetGroupBalance(groupID); client.SendGroupTransactionsSummaryDetails( client, groupID, transactionID, sessionID, currentInterval, intervalDays, Util.BuildYMDDateString(balance.StartingDate.AddDays(-currentInterval * intervalDays)), history.ToArray() ); } else { client.SendGroupTransactionsSummaryDetails( client, groupID, transactionID, sessionID, currentInterval, intervalDays, "Never", new GroupAccountHistory [0] ); } } }