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

📄 roomsettingform.cs

📁 酒店管理系统
💻 CS
字号:
using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Text;
using System.Text.RegularExpressions;
using System.Windows.Forms;
using HotelManagerBLL;
using HotelManagerModels;

namespace HotelManager
{
    public partial class RoomSettingForm : Form
    {
        RoomBLL bll = new RoomBLL();
        private int i = 0;//通过变量来判断要实现的功能:  1,添加 2,修改
        private int x = 0;
        public static int IsFormOpen = 0;//判断窗体是否打开,0没打开,1,打开

        public RoomSettingForm()
        {
            IsFormOpen = 1;
            InitializeComponent();
        }

        public RoomSettingForm(int i)
        {
            x = i;
            IsFormOpen = 1;
            InitializeComponent();
        }

        private void RoomSettingForm_Load(object sender, EventArgs e)
        {
            if (x == 2)
            {
                tsBtnDelete.Visible = false;
            }
            panInfo.Visible = false;
            try
            {
                //取出所有房间信息
                List<Room> list = bll.SelectRoomsAll();
                dataGridView1.DataSource = list;

                //把类型编号和名称绑定到combox上
                List<RoomType> typelist = bll.SelectRoomType();
                cboTypeID.DataSource = typelist;//设置combox的数据源
                cboTypeID.DisplayMember = "TypeName";
                cboTypeID.ValueMember = "TypeID";
                cboTypeID.Text = typelist[0].TypeName;//设置默认值

                //将房间状态邦定到combox上
                RoomStatusBLL statusbll = new RoomStatusBLL();
                List<RoomStatus> statusList = statusbll.SelectRoomStatus();
                cboState.DataSource = statusList;
                cboState.DisplayMember = "Status";
                cboState.ValueMember = "Id";
                cboState.Text = statusList[0].Status;
            }
            catch (Exception ex)
            {
                MessageBox.Show(ex.Message);
            }
        }

        private void tsBntAdd_Click(object sender, EventArgs e)
        {
            //添加按钮,改变控件状态
            this.ClientSize = new System.Drawing.Size(625, 438);
            panInfo.Visible = true;
            panInfo.Enabled = true;
            txtBedNumber.Text = "";
            txtDescription.Text = "";
            txtGuestNumber.Text = "";
            txtNumber.Text = "";
            i = 1;
        }

        private void btnSearch_Click(object sender, EventArgs e)
        {
            string number = txtSearch.Text.ToString().Trim();
            try
            {
                //模糊查询
                List<Room> list = bll.SelectRoomsByRoomNumber(number);
                dataGridView1.DataSource = list;
            }
            catch (Exception ex)
            {
                MessageBox.Show(ex.Message);
            }
        }

        private void dataGridView1_CellClick(object sender, DataGridViewCellEventArgs e)
        {
            this.ClientSize = new System.Drawing.Size(625, 438);
            panInfo.Visible = true;
            panInfo.Enabled = false;
            int roomID = Convert.ToInt32(dataGridView1.CurrentRow.Cells["RoomID"].Value);
            try
            {
                //根据选中的行,查到房间详细信息
                List<Room> list = bll.SelectRoomByRoomID(roomID);
                foreach (Room r in list)
                {
                    txtNumber.Text = r.Number;
                    txtGuestNumber.Text = r.GuestNumber.ToString();
                    txtBedNumber.Text = r.BedNumber.ToString();
                    RoomStatus rs = new RoomStatus();
                    rs = r.State;//实体变量为对象类型
                    Console.WriteLine(rs.Status.ToString());
                    cboState.SelectedValue = rs.ID;
                    cboTypeID.SelectedValue = r.TypeID;//设置combox选中的值
                    txtDescription.Text = r.Description;
                }
            }
            catch (Exception ex)
            {
                MessageBox.Show(ex.Message);
            }
        }

        private void cboTypeID_SelectedIndexChanged(object sender, EventArgs e)
        {
            string typeName = cboTypeID.Text.ToString();
            try
            {
                //根据选中的房间类型来确定房间价格
                float price = bll.SelectTypePriceByTypeName(typeName);
                txtPrice.Text = price.ToString();
            }
            catch (Exception ex)
            {
                MessageBox.Show(ex.Message);
            }
        }

        private void tsBtnSave_Click(object sender, EventArgs e)
        {
            if (i == 1)//添加
            {
                Room room = new Room();
                room.Number = txtNumber.Text;
                room.TypeID = Convert.ToInt32(cboTypeID.SelectedValue.ToString());
                room.BedNumber = Convert.ToInt32(txtBedNumber.Text);
                room.Description = txtDescription.Text;
                room.GuestNumber = Convert.ToInt32(txtGuestNumber.Text);
                //对象类型有点麻烦
                RoomStatus rs = new RoomStatus();
                rs.ID = Convert.ToInt32(cboState.SelectedValue);
                room.State = rs;
                try
                {
                    bll.InsertRomm(room);
                    //刷新
                    List<Room> list = bll.SelectRoomsAll();
                    dataGridView1.DataSource = list;
                    panInfo.Enabled = false;
                    i = 0;//重置状态
                }
                catch (Exception ex)
                {
                    MessageBox.Show(ex.Message);
                }
            }
            //修改信息
            if (i == 2)
            {
                Room room = new Room();
                room.Number = txtNumber.Text;
                room.TypeID = Convert.ToInt32(cboTypeID.SelectedValue.ToString());
                room.BedNumber = Convert.ToInt32(txtBedNumber.Text);
                room.Description = txtDescription.Text;
                room.GuestNumber = Convert.ToInt32(txtGuestNumber.Text);
                RoomStatus rs = new RoomStatus();
                rs.ID = Convert.ToInt32(cboState.SelectedValue);
                room.State = rs;
                room.RoomID = Convert.ToInt32(dataGridView1.CurrentRow.Cells["RoomID"].Value);
                try
                {
                    bll.UpdateRoomByBoomID(room);
                    //刷新
                    List<Room> list = bll.SelectRoomsAll();
                    dataGridView1.DataSource = list;
                    panInfo.Enabled = false;
                    i = 0;//重置状态
                }
                catch (Exception ex)
                {
                    MessageBox.Show(ex.Message);
                }
            }
        }

        private void tsBntUpdate_Click(object sender, EventArgs e)
        {
            this.ClientSize = new System.Drawing.Size(625, 438);
            panInfo.Visible = true;
            panInfo.Enabled = true;
            i = 2;
            
            //根据选中行,查出要修改的信息
            this.ClientSize = new System.Drawing.Size(625, 438);
            panInfo.Visible = true;
            panInfo.Enabled = true;
            int roomID = Convert.ToInt32(dataGridView1.CurrentRow.Cells["RoomID"].Value);
            try
            {
                List<Room> list = bll.SelectRoomByRoomID(roomID);
                foreach (Room r in list)
                {
                    txtNumber.Text = r.Number;
                    txtGuestNumber.Text = r.GuestNumber.ToString();
                    txtBedNumber.Text = r.BedNumber.ToString();
                    RoomStatus rs = new RoomStatus();
                    rs = r.State;
                    cboState.SelectedItem = rs.ID;
                    txtDescription.Text = r.Description;
                    cboTypeID.SelectedValue = r.TypeID;//设置combox选中的值
                }
            }
            catch (Exception ex)
            {
                MessageBox.Show(ex.Message);
            }
        }

        private void tsBtnDelete_Click(object sender, EventArgs e)
        {
            DialogResult dr = MessageBox.Show("确定要删除吗?", "友情提示一下", MessageBoxButtons.YesNo, MessageBoxIcon.Question);
            if (dr == DialogResult.Yes)
            {
                //根据编号删除信息
                int roomID = Convert.ToInt32(dataGridView1.CurrentRow.Cells["RoomID"].Value);
                try
                {
                    bll.DeleteRoomByRoomID(roomID);
                    //刷新dataGridView1
                    List<Room> list = bll.SelectRoomsAll();
                    dataGridView1.DataSource = list;
                }
                catch (Exception ex)
                {
                    MessageBox.Show(ex.Message);
                }
            }
        }

        private void tsBtnCancel_Click(object sender, EventArgs e)
        {
            RoomSettingForm_Load(sender, e);//取消按钮条用加载事件
        }

        private void tsBtnExit_Click(object sender, EventArgs e)
        {
            IsFormOpen = 0;
            this.Close();
        }

        private void RoomSettingForm_FormClosing(object sender, FormClosingEventArgs e)
        {
            IsFormOpen = 0;
        }

        private void txtGuestNumber_TextChanged(object sender, EventArgs e)
        {
            Regex r = new Regex("^[0-9]{1,}$");
            if (!r.IsMatch(this.txtGuestNumber.Text))
            {
                //txtGuestNumber.Text = "";
                MessageBox.Show("请输入数字");
            }
        }

        private void txtBedNumber_TextChanged(object sender, EventArgs e)
        {
            Regex r = new Regex("^[0-9]{1,}$");
            if (!r.IsMatch(this.txtBedNumber.Text))
            {
                //txtBedNumber.Text = "";
                MessageBox.Show("请输入数字");
            }
        }
    }
}

⌨️ 快捷键说明

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