Exemplo n.º 1
0
 /// <summary>
 /// 通过好友的请求信息
 /// </summary>
 /// <param name="friendshipInfo"></param>
 /// <returns></returns>
 public int PassFriendship(FriendshipRequestInfo friendshipInfo, int groupId)
 {
     DbParameter[] parms =
     {
         DbHelper.MakeInParam("@fromuid",   (DbType)SqlDbType.Int, 4, friendshipInfo.FromUid),
         DbHelper.MakeInParam("@touid",     (DbType)SqlDbType.Int, 4, friendshipInfo.ToUid),
         DbHelper.MakeInParam("@togroupid", (DbType)SqlDbType.Int, 4, groupId)
     };
     return(TypeConverter.ObjectToInt(DbHelper.ExecuteScalar(CommandType.StoredProcedure, string.Format("{0}passfriendship", BaseConfigs.GetTablePrefix), parms)));
 }
Exemplo n.º 2
0
 /// <summary>
 /// 创建好友请求信息
 /// </summary>
 /// <param name="friendshipInfo"></param>
 /// <returns></returns>
 public int CreateNewFriendshipRequest(FriendshipRequestInfo friendshipInfo)
 {
     DbParameter[] parms =
     {
         DbHelper.MakeInParam("@fromuid",      (DbType)SqlDbType.Int,        4, friendshipInfo.FromUid),
         DbHelper.MakeInParam("@touid",        (DbType)SqlDbType.Int,        4, friendshipInfo.ToUid),
         DbHelper.MakeInParam("@fromusername", (DbType)SqlDbType.Char,      20, friendshipInfo.FromUserName),
         DbHelper.MakeInParam("@gid",          (DbType)SqlDbType.Int,        4, friendshipInfo.GroupId),
         DbHelper.MakeInParam("@note",         (DbType)SqlDbType.NVarChar, 100, friendshipInfo.Note)
     };
     return(TypeConverter.ObjectToInt(DbHelper.ExecuteScalar(CommandType.StoredProcedure, string.Format("{0}createnewfriendshiprequest", BaseConfigs.GetTablePrefix), parms)));
 }
Exemplo n.º 3
0
        /// <summary>
        /// 从reader中装载FriendshipRequestInfo
        /// </summary>
        /// <param name="reader"></param>
        /// <returns></returns>
        private static FriendshipRequestInfo LoadFriendshipRequestInfo(IDataReader reader)
        {
            FriendshipRequestInfo friendshipRequestInfo = new FriendshipRequestInfo();

            friendshipRequestInfo.FromUid      = TypeConverter.ObjectToInt(reader["fromuid"]);
            friendshipRequestInfo.FromUserName = reader["fromusername"].ToString();
            friendshipRequestInfo.ToUid        = TypeConverter.ObjectToInt(reader["touid"]);
            friendshipRequestInfo.GroupId      = TypeConverter.ObjectToInt(reader["gid"]);
            friendshipRequestInfo.Note         = reader["note"].ToString();
            friendshipRequestInfo.DateTime     = reader["datetime"].ToString();
            return(friendshipRequestInfo);
        }
Exemplo n.º 4
0
        /// <summary>
        /// 获取用户好友请求信息
        /// </summary>
        /// <param name="fromUid"></param>
        /// <param name="toUid"></param>
        /// <returns></returns>
        public static FriendshipRequestInfo GetUserFriendRequestInfo(int fromUid, int toUid)
        {
            IDataReader           reader      = DatabaseProvider.GetInstance().GetUserFriendRequestInfo(fromUid, toUid);
            FriendshipRequestInfo requestInfo = new FriendshipRequestInfo();

            if (reader.Read())
            {
                requestInfo = LoadFriendshipRequestInfo(reader);
            }
            reader.Close();
            return(requestInfo);
        }
Exemplo n.º 5
0
        /// <summary>
        /// 通过好友的请求信息
        /// </summary>
        /// <param name="fromUid">请求人ID</param>
        /// <param name="toUid">被请求人ID</param>
        /// <param name="toUserGroupInfo">被请求人用户组信息</param>
        /// <param name="groupId">被请求人将请求人划分的好友组,0表示不分组</param>
        /// <returns></returns>
        public static PassFriendshipEnum PassFriendship(int fromUid, int toUid, UserGroupInfo toUserGroupInfo, int groupId)
        {
            if (fromUid <= 0 || toUid <= 0 || fromUid == toUid)
            {
                return(PassFriendshipEnum.MessageError);
            }

            FriendshipRequestInfo requestInfo = GetUserFriendRequestInfo(fromUid, toUid);

            if (requestInfo == null || requestInfo.FromUid == 0 || requestInfo.ToUid == 0 || requestInfo.ToUid == requestInfo.FromUid)
            {
                return(PassFriendshipEnum.MessageError);
            }

            //如果用户之间已经是好友了
            if (IsFriendshipExist(requestInfo.FromUid, requestInfo.ToUid) == IsFriendshipExistEnum.Exist)
            {
                return(PassFriendshipEnum.FriendshipAlreadyExists);
            }

            if (Friendship.GetUserFriendsCount(toUid) >= toUserGroupInfo.MaxFriendsCount)
            {
                return(PassFriendshipEnum.ToUserFriendshipOverflow);
            }

            UserGroupInfo fromUserGroupInfo = UserGroups.GetUserGroupInfo(Users.GetShortUserInfo(fromUid).Groupid);

            if (Friendship.GetUserFriendsCount(fromUid) >= fromUserGroupInfo.MaxFriendsCount)
            {
                return(PassFriendshipEnum.FromUserFriendshipOverflow);
            }

            if (Data.Friendship.PassFriendship(requestInfo, groupId) == (int)PassFriendshipEnum.Success)
            {
                return(PassFriendshipEnum.Success);
            }

            return(PassFriendshipEnum.MessageError);
        }
Exemplo n.º 6
0
        /// <summary>
        /// 创建好友请求信息
        /// </summary>
        /// <param name="friendshipRequestInfo">好友请求信息</param>
        /// <param name="userGroupInfo">当前用户用户组信息</param>
        /// <returns></returns>
        public static CreateNewFriendshipRequestEnum CreateNewFriendshipRequest(FriendshipRequestInfo friendshipRequestInfo, UserGroupInfo userGroupInfo)
        {
            if (friendshipRequestInfo.FromUid <= 0 || friendshipRequestInfo.ToUid <= 0 || friendshipRequestInfo.FromUid == friendshipRequestInfo.ToUid)
            {
                return(CreateNewFriendshipRequestEnum.MessageError);
            }
            //如果用户之间已经是好友或者用户之间已经有一方请求的
            IsFriendshipExistEnum existResult = IsFriendshipExist(friendshipRequestInfo.FromUid, friendshipRequestInfo.ToUid);

            if (existResult == IsFriendshipExistEnum.Exist)
            {
                return(CreateNewFriendshipRequestEnum.FriendshipAlreadyExists);
            }

            if (existResult == IsFriendshipExistEnum.RequestExist)
            {
                return(CreateNewFriendshipRequestEnum.RequestAlreadyExists);
            }

            if (GetUserFriendsCount(friendshipRequestInfo.FromUid) >= userGroupInfo.MaxFriendsCount)
            {
                return(CreateNewFriendshipRequestEnum.UserFriendshipOverflow);
            }

            if (Data.Friendship.CreateNewFriendshipRequest(friendshipRequestInfo) == (int)CreateNewFriendshipRequestEnum.Success)
            {
                int olId = OnlineUsers.GetOlidByUid(friendshipRequestInfo.ToUid);

                if (olId > 0)//如果被请求用户在线,则更新其在线状态
                {
                    OnlineUsers.UpdateNewFriendsRequest(olId, 1);
                }

                return(CreateNewFriendshipRequestEnum.Success);
            }

            return(CreateNewFriendshipRequestEnum.MessageError);
        }
Exemplo n.º 7
0
 /// <summary>
 /// 通过好友的请求信息
 /// </summary>
 /// <param name="friendshipRequestInfo"></param>
 /// <returns></returns>
 public static int PassFriendship(FriendshipRequestInfo friendshipInfo, int groupId)
 {
     return(DatabaseProvider.GetInstance().PassFriendship(friendshipInfo, groupId));
 }
Exemplo n.º 8
0
 /// <summary>
 /// 创建好友请求信息
 /// </summary>
 /// <param name="friendshipRequestInfo"></param>
 /// <returns></returns>
 public static int CreateNewFriendshipRequest(FriendshipRequestInfo friendshipInfo)
 {
     return(DatabaseProvider.GetInstance().CreateNewFriendshipRequest(friendshipInfo));
 }