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

📄 roomdal.cs

📁 酒店管理系统
💻 CS
📖 第 1 页 / 共 2 页
字号:
using System;
using System.Collections.Generic;
using System.Text;
using System.Data;
using System.Data.SqlClient;
using System.Configuration;
using HotelManagerModels;

namespace HotelManagerDAL
{
    public class RoomDAL
    {
        //从配置文件中取出数据库连接的字符串
        private string strConn = ConfigurationManager.ConnectionStrings["HotelConn"].ToString();

        #region 查询所有房间信息
        /// <summary>
        /// 查询所有房间信息
        /// </summary>
        /// <returns>房间集合</returns>
        public List<Room> SelectRoomsAll()
        { 
            using(SqlConnection conn = new SqlConnection(strConn))
            {
                List<Room> list = new List<Room>();
                SqlCommand cmd = new SqlCommand("usp_SelectRoomsAll", conn);
                cmd.CommandType = CommandType.StoredProcedure;
                try
                {
                    conn.Open();
                    SqlDataReader dr = cmd.ExecuteReader();
                    while (dr.Read())
                    {
                        Room r = new Room();
                        RoomStatus rs=new RoomStatus();
                        r.RoomID = Convert.ToInt32(dr["RoomID"]);
                        r.Number = dr["Number"].ToString();
                        r.TypeID = Convert.ToInt32(dr["TypeID"]);
                        r.BedNumber = Convert.ToInt32(dr["BedNumber"]);
                        r.Description = dr["Description"].ToString();
                        rs.ID = Convert.ToInt32(dr["StatusID"]);
                        rs.Status = dr["Status"].ToString();
                        r.State = rs;
                        r.GuestNumber = Convert.ToInt32(dr["GuestNumber"]);
                        list.Add(r);
                    }
                    return list;
                }
                catch (Exception ex)
                {
                    throw new Exception(ex.Message);
                }
                finally
                {
                    conn.Close();
                }
            }
        }
        #endregion

        #region 根据房间号查询房间信息
        /// <summary>
        /// 根据房间号查询房间信息
        /// </summary>
        /// <param name="number">房间号</param>
        /// <returns>房间集合</returns>
        public List<Room> SelectRoomsByRoomNumber(string number)
        {
            using (SqlConnection conn = new SqlConnection(strConn))
            {
                List<Room> list = new List<Room>();
                SqlCommand cmd = new SqlCommand("usp_SelectRoomsByRoomNumber", conn);
                cmd.CommandType = CommandType.StoredProcedure;
                cmd.Parameters.Add("@Number", SqlDbType.NVarChar, 50).Value = number;
                try
                {
                    conn.Open();
                    SqlDataReader dr = cmd.ExecuteReader();
                    while (dr.Read())
                    {
                        Room r = new Room();
                        RoomStatus rs = new RoomStatus();
                        r.RoomID = Convert.ToInt32(dr["RoomID"]);
                        r.Number = dr["Number"].ToString();
                        r.TypeID = Convert.ToInt32(dr["TypeID"]);
                        r.BedNumber = Convert.ToInt32(dr["BedNumber"]);
                        r.Description = dr["Description"].ToString();
                        rs.Status = dr["Status"].ToString();
                        r.State = rs;
                        r.GuestNumber = Convert.ToInt32(dr["GuestNumber"]);
                        list.Add(r);
                    }
                    return list;
                }
                catch (Exception ex)
                {
                    throw new Exception(ex.Message);
                }
                finally
                {
                    conn.Close();
                }
            }
        }
        #endregion

        #region 根据房间编号查询房间信息
        /// <summary>
        /// 根据房间编号查询房间信息
        /// </summary>
        /// <param name="roomID">房间编号</param>
        /// <returns>泛型集合</returns>
        public List<Room> SelectRoomByRoomID(int roomID)
        {
            using (SqlConnection conn = new SqlConnection(strConn))
            {
                List<Room> list = new List<Room>();
                SqlCommand cmd = new SqlCommand("usp_SelectRoom", conn);
                cmd.CommandType = CommandType.StoredProcedure;
                cmd.Parameters.Add("@RoomID", SqlDbType.Int).Value = roomID;
                try
                {
                    conn.Open();
                    SqlDataReader dr = cmd.ExecuteReader();
                    while (dr.Read())
                    {
                        Room r = new Room();
                        RoomStatus rs = new RoomStatus();
                        r.RoomID = Convert.ToInt32(dr["RoomID"]);
                        r.Number = dr["Number"].ToString();
                        r.TypeID = Convert.ToInt32(dr["TypeID"]);
                        r.BedNumber = Convert.ToInt32(dr["BedNumber"]);
                        r.Description = dr["Description"].ToString();
                        rs.ID = Convert.ToInt32(dr["StatusID"]);
                        rs.Status = dr["Status"].ToString();
                        r.State = rs;
                        r.GuestNumber = Convert.ToInt32(dr["GuestNumber"]);
                        list.Add(r);
                    }
                    return list;
                }
                catch (Exception ex)
                {
                    throw new Exception(ex.Message);
                }
                finally
                {
                    conn.Close();
                }
            }
        }
        #endregion

        #region 增加房间信息
        /// <summary>
        /// 增加房间信息
        /// </summary>
        /// <param name="room">房间对象</param>
        /// <returns>bool</returns>
        public void InsertRomm(Room room)
        {
            using(SqlConnection conn=new SqlConnection(strConn))
            {
                SqlCommand cmd = new SqlCommand("usp_InsertRoom", conn);
                cmd.CommandType = CommandType.StoredProcedure;
                SqlParameter[] pars = new SqlParameter[]{
                    new SqlParameter("@Number",SqlDbType.NVarChar,50),
                    new SqlParameter("@TypeID",SqlDbType.Int),
                    new SqlParameter("@BedNumber",SqlDbType.Int),
                    new SqlParameter("@Description",SqlDbType.NVarChar,50),
                    new SqlParameter("@StatusID",SqlDbType.Int),
                    new SqlParameter("@GuestNumber",SqlDbType.Int)
                };
                pars[0].Value = room.Number;
                pars[1].Value = room.TypeID;
                pars[2].Value = room.BedNumber;
                pars[3].Value = room.Description;
                pars[4].Value = room.State.ID;
                pars[5].Value = room.GuestNumber;
                foreach(SqlParameter par in pars)
                {
                    cmd.Parameters.Add(par);
                }
                try
                {
                    conn.Open();
                    cmd.ExecuteNonQuery();
                }
                catch (Exception ex)
                {
                    throw new Exception(ex.Message);
                }
                finally
                {
                    conn.Close();
                }
            }
        }
        #endregion
        
        #region 修改房间信息
        /// <summary>
        /// 修改房间信息
        /// </summary>
        /// <param name="room">room实体对象</param>

⌨️ 快捷键说明

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