private object StupendsPayOutEvent(string functionName, object parameters) { if (functionName != "StipendsPayout") { return(null); } StipendsInfo si = new StipendsInfo(); si.FromOSD((OSDMap)OSDParser.DeserializeJson(parameters.ToString())); IUserAccountService userService = m_registry.RequestModuleInterface <IUserAccountService>(); UserAccount ua = userService.GetUserAccount(null, si.AgentID); if ((ua != null) && (ua.UserFlags >= 0) && ((!m_options.StipendsPremiumOnly) || ((ua.UserLevel & 600) == 600))) { if (m_options.GiveStipendsOnlyWhenLoggedIn) { ICapsService capsService = m_registry.RequestModuleInterface <ICapsService>(); IClientCapsService client = capsService.GetClientCapsService(ua.PrincipalID); if (client == null) { return(""); } } IMoneyModule mo = m_registry.RequestModuleInterface <IMoneyModule>(); if (mo == null) { return(null); } UUID transid = UUID.Random(); if (m_currencyService.UserCurrencyTransfer(ua.PrincipalID, UUID.Zero, UUID.Zero, UUID.Zero, (uint)m_options.Stipend, "Stipend Payment", TransactionType.StipendPayment, transid)) { return(transid.ToString()); } } return(""); }
private object StipendsPayOutEvent(string functionName, object parameters) { if (functionName != "StipendsPayout") return null; StipendsInfo si = new StipendsInfo(); si.FromOSD((OSDMap)OSDParser.DeserializeJson(parameters.ToString())); IUserAccountService userService = m_registry.RequestModuleInterface<IUserAccountService>(); UserAccount ua = userService.GetUserAccount(null, si.AgentID); if ((ua != null) && (ua.UserFlags >= 0) && ((!m_options.StipendsPremiumOnly) || ((ua.UserLevel & Constants.USER_FLAG_MEMBER) == Constants.USER_FLAG_MEMBER))) { if (m_options.GiveStipendsOnlyWhenLoggedIn) { ICapsService capsService = m_registry.RequestModuleInterface<ICapsService>(); IClientCapsService client = capsService.GetClientCapsService(ua.PrincipalID); if (client == null) return ""; } IMoneyModule mo = m_registry.RequestModuleInterface<IMoneyModule>(); if (mo == null) return null; UUID transid = UUID.Random(); if (m_currencyService.UserCurrencyTransfer(ua.PrincipalID, UUID.Zero, (uint)m_options.Stipend, "Stipend Payment", TransactionType.StipendPayment, transid)) { return transid.ToString(); } } return ""; }