Example #1
0
        /// <summary>
        /// 处理添加好友请求(甲添加乙)
        /// </summary>
        /// <param name="message">甲ID+甲账号+乙ID</param>
        public void DealAFR(User user, string message)
        {
            user.RunStatus = "添加好友.";

            string[] msg    = message.Split(MessageTypes.NSP.ToCharArray());
            int      result = 0;

            try
            {
                //判断addfriendinfo表中是否存在相同记录
                result = Access.IsExistAddFriendInfo(msg[0], msg[2]);
            }
            catch (Exception ex)
            {
                ilogger.Logger(string.Format("用户:{0}--->添加好友时查询是否有重复记录异常:{1}", user.client.Client.RemoteEndPoint, ex.Message));
                SendMsg(user, MessageTypes.AFR + MessageTypes.PSP + "0" + MessageTypes.PSP + "很抱歉,添加好友异常请重试!");

                return;
            }

            if (result != 0)
            {
                return;
            }

            try
            {
                //将记录请求插入addfriendinfo表中
                Access.AddFriendInfo(msg[0], msg[2]);
            }
            catch (Exception ex)
            {
                ilogger.Logger(string.Format("用户:{0}--->添加好友时插入记录异常:{1}", user.client.Client.RemoteEndPoint, ex.Message));
                SendMsg(user, MessageTypes.AFR + MessageTypes.PSP + "0" + MessageTypes.PSP + "很抱歉,添加好友异常请重试!");

                return;
            }

            foreach (User u in this.connViewModel.AllUsers)
            {
                if (u.userID.ToString() == msg[2])
                {
                    SendMsg(u, MessageTypes.ASK + MessageTypes.PSP + "1" + MessageTypes.PSP + msg[0] + MessageTypes.NSP + msg[1]);
                    break;
                }
            }
        }