⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 friendsdal.cs

📁 一个即时通信工具
💻 CS
字号:
using System;
using System.Collections.Generic;
using System.Text;
using System.Data;
using System.Data.SqlClient;
using Model;

namespace DAL
{
    /// <summary>
    /// FriendsDAL类 
    /// </summary>
    public class FriendsDAL : IDisposable
    {

        public FriendsInfo Select(int id)
        {
            string strSQL = "SELECT * FROM Friends where id="+id;
            FriendsInfo objInfo = new FriendsInfo();

            using (SqlDataReader rdr = SqlHelper.ExecuteReader(SqlHelper.ConnString, CommandType.Text, strSQL, null))
            {
                if (rdr.Read())
                {
                    objInfo.Id = Convert.ToInt32(rdr["Id"]);
                    objInfo.Host =new UsersInfo(Convert.ToInt32(rdr["HostId"]));
                    objInfo.Friend =new UsersInfo( Convert.ToInt32(rdr["FriendId"]));
                }
            }

            return objInfo;
        }

        /// <summary>
        ///   判断好友是否已经添加过
        /// </summary>
        /// <param name="entity"></param>
        /// <returns></returns>
        public bool IsExists(FriendsInfo entity)
        {
            string strSQL = "SELECT 1 FROM Friends where hostId =" + entity.Host.Id + " and friendId =" + entity.Friend.Id;
            FriendsInfo objInfo = new FriendsInfo();

            using (SqlDataReader rdr = SqlHelper.ExecuteReader(SqlHelper.ConnString, CommandType.Text, strSQL, null))
            {
                if (rdr.HasRows)
                    return true;
            }

            return false;
        }

        public List<FriendsInfo> SelectAll()
        {
            string strSQL = "SELECT * FROM Friends";
            List<FriendsInfo> objItems = new List<FriendsInfo>();

            using (SqlDataReader rdr = SqlHelper.ExecuteReader(SqlHelper.ConnString, CommandType.Text, strSQL, null))
            {
                while (rdr.Read())
                {
                    FriendsInfo objInfo = new FriendsInfo();
                    objInfo.Id = Convert.ToInt32(rdr["Id"]);
                    objInfo.Host = new UsersInfo(Convert.ToInt32(rdr["HostId"]));
                    objInfo.Friend = new UsersInfo(Convert.ToInt32(rdr["FriendId"]));
                    objItems.Add(objInfo);
                }
            }

            return objItems;
        }

        /// <summary>
        /// 获得用户的所有好友列表
        /// </summary>
        /// <param name="hostId"></param>
        /// <returns></returns>
        public List<FriendsInfo> GetFriends(int hostId)
        {
            string strSQL = "SELECT * FROM Friends WHERE HostId="+hostId;
            List<FriendsInfo> objItems = new List<FriendsInfo>();
            UsersDAL udal = new UsersDAL();
            using (SqlDataReader rdr = SqlHelper.ExecuteReader(SqlHelper.ConnString, CommandType.Text, strSQL, null))
            {
                while (rdr.Read())
                {
                    FriendsInfo objInfo = new FriendsInfo();
                    objInfo.Id = Convert.ToInt32(rdr["Id"]);
                    objInfo.Host = new UsersInfo(Convert.ToInt32(rdr["HostId"]));
                    objInfo.Friend = udal.Select(Convert.ToInt32(rdr["FriendId"]));
                    objItems.Add(objInfo);
                }
            }

            return objItems;
        }

        /// <summary>
        /// 添加到好友列表
        /// </summary>
        /// <param name="entity"></param>
        public void AddToFriends(FriendsInfo entity)
        {
            if (IsExists(entity))
                throw new Exception(" 您已经把对方加为好友了,不必重复添加!");

            string strSQL = "INSERT INTO [Friends](HostId,FriendId) VALUES(@HostId,@FriendId)";

            SqlParameter[] pars = new SqlParameter[]{
                    new SqlParameter("@HostId",entity.Host.Id),
                    new SqlParameter("@FriendId",entity.Friend.Id)
            };

            SqlHelper.ExecuteNonQuery(SqlHelper.ConnString, CommandType.Text, strSQL, pars);

        }

        /// <summary>
        ///   删除好友
        /// </summary>
        /// <param name="entity"></param>
        /// <returns></returns>
        public void DeleteFriend(int hostId,int friendId)
        {
            string strSQL = string.Format("delete Friends where hostId={0} and FriendId={1}",hostId,+ friendId);
            SqlDataReader rdr = SqlHelper.ExecuteReader(SqlHelper.ConnString, CommandType.Text, strSQL, null);
        }



        #region IDisposable 成员
        public void Dispose()
        {
            GC.SuppressFinalize(this);
        }
        #endregion

    }
}

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -