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

📄 roomtypedal.cs

📁 酒店管理系统
💻 CS
字号:
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 RoomTypeDAL
    {
        //从配置文件中取出数据库连接的字符串
        string strConn = ConfigurationManager.ConnectionStrings["HotelConn"].ToString();

        #region 查询所有房间类型信息
        /// <summary>
        /// 查询所有房间类型信息
        /// </summary>
        /// <returns>房间类型泛型集合</returns>
        public List<RoomType> SelectRoomType()
        {
            using (SqlConnection conn = new SqlConnection(strConn)) 
            {
                SqlCommand cmd = new SqlCommand("usp_SelectRoomTypesAll", conn);
                cmd.CommandType = CommandType.StoredProcedure;
                List<RoomType> list = new List<RoomType>();
                try
                {
                    conn.Open();
                    SqlDataReader dr = cmd.ExecuteReader();
                    while (dr.Read())
                    {
                        RoomType t = new RoomType();
                        t.TypeID = Convert.ToInt32(dr["TypeID"]);
                        t.TypeName = dr["TypeName"].ToString();
                        t.TypePrice = Convert.ToSingle(dr["TypePrice"]);
                        t.AddBedPrice = Convert.ToSingle(dr["AddBedPrice"]);
                        t.IsAddBed = dr["IsAddBed"].ToString();
                        t.Remark = dr["Remark"].ToString();
                        list.Add(t);
                    }
                }
                catch (Exception ex)
                {
                    throw new Exception(ex.Message);
                }
                finally
                {
                    conn.Close();
                }
                return list;
            }
        }
        #endregion

        #region 根据房间名称查询房间类型信息
        /// <summary>
        /// 根据房间名称查询房间类型信息
        /// </summary>
        /// <param name="typeName">房间编号</param>
        /// <returns>房间类型泛型集合</returns>
        public List<RoomType> SelectRoomTypeByName(string typeName)
        {
            using(SqlConnection conn=new SqlConnection(strConn))
            {
                SqlCommand cmd = new SqlCommand("usp_SelectRoomTypeListByTypeName",conn);
                cmd.CommandType = CommandType.StoredProcedure;
                cmd.Parameters.Add("@TypeName", SqlDbType.VarChar, 50).Value=typeName;
                List<RoomType> list = new List<RoomType>();
                try
                {
                    conn.Open();
                    SqlDataReader dr = cmd.ExecuteReader();
                    while (dr.Read())
                    {
                        RoomType t = new RoomType();
                        t.TypeID = Convert.ToInt32(dr[0]);
                        t.TypeName = dr[1].ToString();
                        t.TypePrice = Convert.ToSingle(dr[2]);
                        t.AddBedPrice = Convert.ToSingle(dr[3]);
                        t.IsAddBed = dr[4].ToString();
                        t.Remark = dr[5].ToString();
                        list.Add(t);
                    }
                }
                catch (Exception ex)
                {
                    throw new Exception(ex.Message);
                }
                finally
                {
                    conn.Close();
                }
                return list;
            }
        }
        #endregion

        #region 根据房间编号查询房间类型
        /// <summary>
        /// 根据房间编号查询房间类型
        /// </summary>
        /// <param name="typeID">房间编号</param>
        /// <returns>房间类型泛型集合</returns>
        public List<RoomType> SelectRoomTypeByTypeID(int typeID)
        {
            using (SqlConnection conn = new SqlConnection(strConn))
            {
                SqlCommand cmd = new SqlCommand("usp_SelectRoomType", conn);
                cmd.CommandType = CommandType.StoredProcedure;
                SqlParameter par = new SqlParameter("@TypeID", SqlDbType.Int);
                par.Value = typeID;
                cmd.Parameters.Add(par);
                List<RoomType> list = new List<RoomType>();
                try
                {
                    conn.Open();
                    SqlDataReader dr = cmd.ExecuteReader();
                    while (dr.Read())
                    {
                        RoomType t = new RoomType();
                        t.TypeID = Convert.ToInt32(dr[0]);
                        t.TypeName = dr[1].ToString();
                        t.TypePrice = Convert.ToSingle(dr[2]);
                        t.AddBedPrice = Convert.ToSingle(dr[3]);
                        t.IsAddBed = dr[4].ToString();
                        t.Remark = dr[5].ToString();
                        list.Add(t);
                    }
                }
                catch (Exception ex)
                {
                    throw new Exception(ex.Message);
                }
                finally
                {
                    conn.Close();
                }
                return list;
            }
        }
        #endregion

        #region 添加房间类型
        /// <summary>
        /// 添加房间类型
        /// </summary>
        /// <param name="t">房间类型实体对象</param>
        public void InsertRoomType(RoomType t)
        { 
            using(SqlConnection conn=new SqlConnection(strConn))
            {
                SqlCommand cmd = new SqlCommand("usp_InsertRoomType", conn);
                cmd.CommandType = CommandType.StoredProcedure;
                SqlParameter[] pars = new SqlParameter[] 
                        { new SqlParameter("@TypeName",SqlDbType.VarChar,50),
                        new SqlParameter("@TypePrice",SqlDbType.Money),
                        new SqlParameter("@AddBedPrice",SqlDbType.Money),
                        new SqlParameter("@IsAddBed",SqlDbType.NChar,10),
                        new SqlParameter("@Remark",SqlDbType.NVarChar,50)
                };
                pars[0].Value = t.TypeName;
                pars[1].Value = t.TypePrice;
                pars[2].Value= t.AddBedPrice;
                pars[3].Value = t.IsAddBed;
                pars[4].Value = t.Remark;
                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="t">实体对象</param>
        /// <returns>bool</returns>
        public bool UpdateRoomTypeByID(RoomType t)
        {
            using (SqlConnection conn = new SqlConnection(strConn))
            {
                SqlCommand cmd = new SqlCommand("usp_UpdateRoomType",conn);
                cmd.CommandType = CommandType.StoredProcedure;
                SqlParameter[] pars = new SqlParameter[] 
                        { new SqlParameter("@TypeName",SqlDbType.VarChar,50),
                        new SqlParameter("@TypePrice",SqlDbType.Money),
                        new SqlParameter("@AddBedPrice",SqlDbType.Money),
                        new SqlParameter("@IsAddBed",SqlDbType.NChar,10),
                        new SqlParameter("@Remark",SqlDbType.NVarChar,50),
                        new SqlParameter("@TypeID",SqlDbType.Int)
                };
                pars[0].Value = t.TypeName;
                pars[1].Value = t.TypePrice;
                pars[2].Value = t.AddBedPrice;
                pars[3].Value = t.IsAddBed;
                pars[4].Value = t.Remark;
                pars[5].Value = t.TypeID;
                foreach (SqlParameter par in pars)
                {
                    cmd.Parameters.Add(par);
                }
                try
                {
                    conn.Open();
                    cmd.ExecuteNonQuery();
                    return true;
                }
                catch (Exception ex)
                {
                    throw new Exception(ex.Message);
                }
                
            }
        }
        #endregion

        #region 根据编号删除房间类型信息
        /// <summary>
        /// 根据编号删除房间类型信息
        /// </summary>
        /// <param name="typeID">房间的ID</param>
        /// <returns>bool</returns>
        public bool DeleteRoomTypeByID(int typeID)
        {
            using (SqlConnection conn = new SqlConnection(strConn))
            {
                SqlCommand cmd = new SqlCommand("usp_DeleteRoomType", conn);
                cmd.CommandType = CommandType.StoredProcedure;
                cmd.Parameters.Add("@TypeID", SqlDbType.Int).Value = typeID;
                try
                {
                    conn.Open();
                    cmd.ExecuteNonQuery();
                    return true;
                }
                catch (Exception ex)
                {
                    throw new Exception(ex.Message);
                }
                finally
                {
                    conn.Close();
                }
            }
        }
        #endregion

        #region 根据类型名称查询房价
        /// <summary>
        /// 根据类型名称查询房价
        /// </summary>
        /// <param name="typeName">房间名称</param>
        /// <returns>价格</returns>
        public float SelectTypePriceByTypeName(string typeName)
        {
            using (SqlConnection conn = new SqlConnection(strConn))
            {
                SqlCommand cmd = new SqlCommand("usp_SelectTypePriceByTypeName", conn);
                cmd.CommandType = CommandType.StoredProcedure;
                cmd.Parameters.Add("@TypeName", SqlDbType.VarChar, 50).Value = typeName;
                try
                {
                    conn.Open();
                    SqlDataReader dr = cmd.ExecuteReader();
                    while (dr.Read())
                    {
                        return Convert.ToSingle(dr[0]);
                    }
                }
                catch (Exception ex)
                {
                    throw new Exception(ex.Message);
                }
                finally
                {
                    conn.Close();
                }
                return 0;
            }
        }
        #endregion
    }
}

⌨️ 快捷键说明

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