/// <summary> /// Get the requests for the user /// </summary> public static List <MessengerRequestData> GetRequests(int userId) { using (var session = SessionFactoryBuilder.Instance.SessionFactory.OpenSession()) { MessengerRequestData messengerRequestAlias = null; PlayerData playerDataAlias = null; return(session.QueryOver(() => messengerRequestAlias) .JoinQueryOver(() => messengerRequestAlias.FriendData, () => playerDataAlias) .Where(() => messengerRequestAlias.UserId == userId) .List() as List <MessengerRequestData>); } }
public void Handle(Player player, Request request) { int userId = UserDao.GetIdByName(request.ReadString()); if (userId < 1) { return; } var targetMessenger = Messenger.GetMessengerData(userId); var targetPlayer = PlayerManager.Instance.GetPlayerById(userId); if (targetMessenger == null || targetMessenger.HasFriend(player.Details.Id) || targetMessenger.HasRequest(player.Details.Id)) { return; } if (!targetMessenger.FriendRequestsEnabled) { player.Send(new MessengerRequestErrorComposer(MessengerRequestError.FriendRequestsDisabled)); return; } if (player.Messenger.Friends.Count >= player.Messenger.MaxFriendsAllowed) { player.Send(new MessengerRequestErrorComposer(MessengerRequestError.FriendListFull)); return; } var messengerRequest = new MessengerRequestData { FriendId = player.Details.Id, UserId = userId }; MessengerDao.SaveRequest(messengerRequest); targetMessenger.Requests.Add(player.Messenger.MessengerUser); if (targetPlayer != null) { targetPlayer.Send(new MessengerRequestComposer(player.Details)); } }
/// <summary> /// Save a request /// </summary> public static void SaveRequest(MessengerRequestData messengerRequestData) { using (var session = SessionFactoryBuilder.Instance.SessionFactory.OpenSession()) { using (var transaction = session.BeginTransaction()) { try { session.Save(messengerRequestData); transaction.Commit(); } catch { transaction.Rollback(); } } } }