public bool AddOfflineMessage(GridInstantMessage message) { object remoteValue = DoRemote(message); if (remoteValue != null || m_doRemoteOnly) { return(remoteValue == null ? false : (bool)remoteValue); } if (message.fromGroup) { if (!m_saveGroupOfflineMessages) { return(false); } if (m_maxGroupOfflineMessages <= 0 || GenericUtils.GetGenericCount(message.toAgentID, "GroupOfflineMessages", GD) < m_maxOfflineMessages) { GenericUtils.AddGeneric(message.toAgentID, "GroupOfflineMessages", UUID.Random().ToString(), message.ToOSD(), GD); return(true); } } else { if (m_maxOfflineMessages <= 0 || GenericUtils.GetGenericCount(message.toAgentID, "OfflineMessages", GD) < m_maxOfflineMessages) { GenericUtils.AddGeneric(message.toAgentID, "OfflineMessages", UUID.Random().ToString(), message.ToOSD(), GD); return(true); } } return(false); }
/// <summary> /// Adds a new offline message for the user. /// </summary> /// <param name = "message"></param> public bool AddOfflineMessage(GridInstantMessage message) { if (message.fromGroup) { if (!m_saveGroupOfflineMessages) { return(false); } if (m_maxGroupOfflineMessages <= 0 || GenericUtils.GetGenericCount(message.toAgentID, "GroupOfflineMessages", GD) < m_maxOfflineMessages) { GenericUtils.AddGeneric(message.toAgentID, "GroupOfflineMessages", UUID.Random().ToString(), message.ToOSD(), GD); return(true); } } else { if (m_maxOfflineMessages <= 0 || GenericUtils.GetGenericCount(message.toAgentID, "OfflineMessages", GD) < m_maxOfflineMessages) { GenericUtils.AddGeneric(message.toAgentID, "OfflineMessages", UUID.Random().ToString(), message.ToOSD(), GD); return(true); } } return(false); }
/// <summary> /// Gets the number of list of generic T's from the database /// </summary> /// <param name="OwnerID"></param> /// <param name="Type"></param> /// <returns></returns> public int GetGenericCount(UUID OwnerID, string Type) { return(GenericUtils.GetGenericCount(OwnerID, Type, GD)); }