示例#1
0
        public string Remove(Classes.UserSession userSession, string username)
        {
            User user = null;
            string resultString = "";
            try
            {
                user = Classes.User.Load(username);
                bool isFriendship1 = Classes.User.IsUserInFriendList(username, userSession.Username);
                bool isFriendship2 = userSession.IsUserInFriendList(username);

                if (isFriendship1 || isFriendship2)
                {
                    if (isFriendship2)
                    {
                        userSession.RemoveFromFriends(username);
                        resultString = String.Format(Lang.Trans("{0} has been removed from your friend list"), username);
                    }
                    else
                    {
                        resultString = String.Format(Lang.Trans("Friendship request from {0} has been denied"), username);
                    }

                    if (isFriendship1)
                        user.RemoveFromFriends(userSession.Username);

                    if (isFriendship1 && isFriendship2)
                    {
                        AddRemovedFriendFriendEvent(username, userSession.Username);
                        AddRemovedFriendFriendEvent(userSession.Username, username);
                    }

                }
                else
                {
                    resultString = Lang.Trans("No such friend!");
                }
            }
            catch (NotFoundException)
            {
                resultString = Lang.Trans("No such user!");
            }
            return resultString;
        }