/// <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))); }
/// <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))); }
/// <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); }
/// <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); }
/// <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); }
/// <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); }
/// <summary> /// 通过好友的请求信息 /// </summary> /// <param name="friendshipRequestInfo"></param> /// <returns></returns> public static int PassFriendship(FriendshipRequestInfo friendshipInfo, int groupId) { return(DatabaseProvider.GetInstance().PassFriendship(friendshipInfo, groupId)); }
/// <summary> /// 创建好友请求信息 /// </summary> /// <param name="friendshipRequestInfo"></param> /// <returns></returns> public static int CreateNewFriendshipRequest(FriendshipRequestInfo friendshipInfo) { return(DatabaseProvider.GetInstance().CreateNewFriendshipRequest(friendshipInfo)); }