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

📄 accessroomtypeoperatorservice.cs

📁 酒店管理 主要实现了基础设施管理(客房管理、客房类型管理)、业务管理(入住、退房、数据库切换) 本系统简单明了,适合初学者学习,采用三层加抽象工厂实现
💻 CS
字号:
using System;
using System.Collections.Generic;
using System.Text;

using IDAL;
using DBUtility;
using System.Data.SqlClient;
using System.Data.OleDb;
using System.Data;
using Model;

namespace AccessDAL
{
    public class AccessRoomTypeOperatorService:IRoomType
    {

        #region IRoomType 成员
        private OleDbConnection _con = null;
        private OleDbDataAdapter _adapter = null;
        private OleDbCommand _cmd = null;
        //初始化参数
        private const string INSERT_INTO_ROOMTYPE = "insert into RoomType(TypeName,TypePrice,IsAddBed,AddBedPrice,Remark) values(";
        private const string PARM_TYPE_ID = "@TypeId";
        private const string PARM_TYPE_NAME = "@typeName";
        private const string PARM_TYPE_PRICE = "@typePrice";
        private const string PARM_IS_ADD_BED = "@isAddBed";
        private const string PARM_ADD_BED_PRICE = "@addBedPrice";
        private const string PARM_REMARK = "@remark";
        /// <summary>
        /// 查询所有的房间类型
        /// </summary>
        /// <returns></returns>
        public IList<Model.RoomType> SelectAllDataByRoomType()
        {
            this._con = new OleDbConnection(AccessHelper.AccessConnString);
            string sql = "select * from RoomType ";
            IList<RoomType> list = new List<RoomType>();
            if (this._con != null)
            {
                try
                {
                    this._con.Open();
                    _adapter = new OleDbDataAdapter(sql, _con);
                    DataSet ds = new DataSet();
                    _adapter.Fill(ds, "RoomType");
                    for (int i = 0; i < ds.Tables["RoomType"].Rows.Count; i++)
                    {
                        RoomType temp = new RoomType();
                        temp.Typeid = Convert.ToInt32(ds.Tables["RoomType"].Rows[i][0]);
                        temp.Typename = ds.Tables["RoomType"].Rows[i][1].ToString();
                        temp.Typeprice = Convert.ToDouble(ds.Tables["RoomType"].Rows[i][2]);
                        temp.Isaddbed = ds.Tables["RoomType"].Rows[i][3].ToString();
                        temp.Addbedprice = Convert.ToDouble(ds.Tables["RoomType"].Rows[i][4]);
                        temp.Remark = ds.Tables["RoomType"].Rows[i][5].ToString();
                        list.Add(temp);
                    }

                }
                catch (OleDbException ex)
                {
                    list = null;
                    throw ex;
                }
                finally
                {
                    this._con.Close();
                }
            }
            return list;
        }

        /// <summary>
        /// 按类型编号查询房间类型信息
        /// </summary>
        /// <param name="id"></param>
        /// <returns></returns>
        public RoomType SelectRoomTypeByID(int id)
        {
            this._con = new OleDbConnection(AccessHelper.AccessConnString);
            string sql = "select * from RoomType where TypeId=" + PARM_TYPE_ID;
            RoomType type = null;
            if (this._con != null)
            {
                try
                {
                    this._con.Open();
                    _adapter = new OleDbDataAdapter(sql, _con);
                    _cmd = new OleDbCommand(sql, _con);
                    _cmd.Parameters.Add(PARM_TYPE_ID, OleDbType.Integer).Value = id;
                    OleDbDataReader dr = _cmd.ExecuteReader();
                    if (dr.Read())
                    {
                        type = new RoomType();
                        type.Typeid = dr.GetInt32(0);
                        type.Typename = dr.GetString(1);
                        type.Typeprice = Convert.ToDouble(dr.GetInt32(2));
                        type.Isaddbed = dr.GetString(3);
                        type.Addbedprice = Convert.ToDouble(dr.GetInt32(4));
                        type.Remark = dr.GetString(5);
                        dr.Close();
                    }
                }
                catch (OleDbException ex)
                {
                    type = null;
                    throw ex;
                }
                finally
                {
                    this._con.Close();
                }
            }
            return type;
        }

        /// <summary>
        /// 按类型名称查询房间类型
        /// </summary>
        /// <param name="name"></param>
        /// <returns></returns>

        public Model.RoomType SelectRoomTypeByTypeName(string name)
        {
            this._con = new OleDbConnection(AccessHelper.AccessConnString);
            string sql = "select * from RoomType where TypeName=" + PARM_TYPE_NAME;
            RoomType type = null;
            if (this._con != null)
            {
                try
                {
                    this._con.Open();
                    _adapter = new OleDbDataAdapter(sql, _con);
                    _cmd = new OleDbCommand(sql, _con);
                    _cmd.Parameters.Add(PARM_TYPE_NAME, OleDbType.VarChar).Value = name;
                    OleDbDataReader dr = _cmd.ExecuteReader();
                    if (dr.Read())
                    {
                        type = new RoomType();
                        type.Typeid = dr.GetInt32(0);
                        type.Typename = dr.GetString(1);
                        type.Typeprice = Convert.ToDouble(dr.GetInt32(2));
                        type.Isaddbed = dr.GetString(3);
                        type.Addbedprice = Convert.ToDouble(dr.GetInt32(4));
                        type.Remark = dr.GetString(5);
                        dr.Close();
                    }
                }
                catch (OleDbException ex)
                {
                    type = null;
                    throw ex;
                }
                finally
                {
                    this._con.Close();
                }
            }
            return type;
        }


        /// <summary>
        /// 按类型名称查询类型信息(模糊查询,使用Like)
        /// </summary>
        /// <param name="name"></param>
        /// <returns></returns>
        IList<RoomType> IRoomType.GetRoomTypeByTypeName(string name)
        {
            this._con = new OleDbConnection(AccessHelper.AccessConnString);
            string sql = "select * from RoomType where TypeName like " + name;
            IList<RoomType> roomType = null;
            if (this._con != null)
            {
                try
                {
                    this._con.Open();
                    _adapter = new OleDbDataAdapter(sql, _con);
                    _cmd = new OleDbCommand(sql, _con);
                    OleDbDataReader dr = _cmd.ExecuteReader();
                    //是否包含多行
                    if (dr.HasRows == false)
                        roomType = null;
                    else
                    {
                        roomType = new List<RoomType>();
                        while (dr.Read())
                        {
                            RoomType type = new RoomType();
                            type.Typeid = dr.GetInt32(0);
                            type.Typename = dr.GetString(1);
                            type.Typeprice = Convert.ToDouble(dr.GetInt32(2));
                            type.Isaddbed = dr.GetString(3);
                            type.Addbedprice = Convert.ToDouble(dr.GetInt32(4));
                            type.Remark = dr.GetString(5);
                            roomType.Add(type);
                        }
                        dr.Close();
                    }
                }
                catch (OleDbException ex)
                {
                    roomType = null;
                    throw ex;
                }
                finally
                {
                    this._con.Close();
                }
            }
            return roomType;
        }

        /// <summary>
        /// 添加房间类型
        /// </summary>
        /// <param name="roomtype"></param>
        /// <returns></returns>
        public bool InsertRoomTypeValues(Model.RoomType roomtype)
        {
            int count = 0;
            StringBuilder sqlRoom = new StringBuilder();//使用StringBuilder提高性能
            sqlRoom.Append(INSERT_INTO_ROOMTYPE).Append(PARM_TYPE_NAME).Append("," + PARM_TYPE_PRICE).Append("," + PARM_IS_ADD_BED).Append("," + PARM_ADD_BED_PRICE).Append("," + PARM_REMARK + ")");

            try
            {
                OleDbParameter[] parms = this.CreateParameters();
                parms[0].Value = roomtype.Typename;
                parms[1].Value = roomtype.Typeprice;
                parms[2].Value = roomtype.Isaddbed;
                parms[3].Value = roomtype.Addbedprice;
                parms[4].Value = roomtype.Remark;
                parms[5].Value = roomtype.Typeid;
                count = AccessHelper.ExecuteNonQuery(AccessHelper.AccessConnString, sqlRoom.ToString(), CommandType.Text, parms);

            }
            catch (OleDbException ex)
            {
                throw ex;
            }
            if (count > 0)
                return true;
            else
                return false;
        }

        /// <summary>
        /// 修改房间类型
        /// </summary>
        /// <param name="roomtype"></param>
        /// <returns></returns>
        public bool ModifyRoomTypeValues(Model.RoomType roomtype)
        {
            int count = 0;
            StringBuilder sql = new StringBuilder();//使用StringBuilder提高性能
            sql.Append("update RoomType set TypeName=").Append(PARM_TYPE_NAME).Append(",TypePrice=" + PARM_TYPE_PRICE);
            sql.Append(",IsAddBed=" + PARM_IS_ADD_BED).Append(",AddBedPrice=" + PARM_ADD_BED_PRICE).Append(",Remark=" + PARM_REMARK);
            sql.Append(" where TypeId=" + PARM_TYPE_ID);
            try
            {
                //声明参数集合
                OleDbParameter[] parms = this.CreateParameters();

                //给指定的参数赋值
                parms[0].Value = roomtype.Typename;
                parms[1].Value = roomtype.Typeprice;
                parms[2].Value = roomtype.Isaddbed;
                parms[3].Value = roomtype.Addbedprice;
                parms[4].Value = roomtype.Remark;
                parms[5].Value = roomtype.Typeid;
                //调用AccessHelper类的方法返回执行的结果并判断是否修改成功
                count = AccessHelper.ExecuteNonQuery(AccessHelper.AccessConnString, sql.ToString(), CommandType.Text, parms);
            }
            catch (OleDbException ex)
            {
                throw ex;
            }
            if (count > 0)
                return true;
            else
                return false;
        }

        /// <summary>
        /// 删除房间类型
        /// </summary>
        /// <param name="roomtype"></param>
        /// <returns></returns>
        public bool DeleteRoomTypeValues(Model.RoomType roomtype)
        {
            int count = 0;
            string sql = "delete * from RoomType where TypeId=" + PARM_TYPE_ID;
            try
            {
                OleDbParameter[] parms = new OleDbParameter[1];
                parms[0] = new OleDbParameter(PARM_TYPE_ID, OleDbType.Integer);
                parms[0].Value = roomtype.Typeid;
                count = AccessHelper.ExecuteNonQuery(AccessHelper.AccessConnString, sql, CommandType.Text, parms);
            }
            catch (OleDbException ex)
            {
                throw ex;
            }
            if (count > 0)
                return true;
            else
                return false;
        }


        /// <summary>
        /// 创建参数数组
        /// </summary>
        /// <returns></returns>
        private OleDbParameter[] CreateParameters()
        {
            OleDbParameter[] parms = new OleDbParameter[6];
            parms[0] = new OleDbParameter(PARM_TYPE_NAME, OleDbType.VarChar);
            parms[1] = new OleDbParameter(PARM_TYPE_PRICE, OleDbType.Integer);
            parms[2] = new OleDbParameter(PARM_IS_ADD_BED, OleDbType.VarChar);
            parms[3] = new OleDbParameter(PARM_ADD_BED_PRICE, OleDbType.Integer);
            parms[4] = new OleDbParameter(PARM_REMARK, OleDbType.VarChar);
            parms[5] = new OleDbParameter(PARM_TYPE_ID, OleDbType.Integer);
            return parms;
        }

        #endregion
    }
}

⌨️ 快捷键说明

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