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

📄 roomtypesettingform.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 RoomTypeSettingForm : Form
    {
        RoomTypeBLL bll = new RoomTypeBLL();
        private int i = 0;//通过i变量来判断用户是添加还是修改: 1为添加 2为修改
        public static int IsFormOpen = 0;//判断窗体是否打开,0没打开,1,打开

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

        private void RoomTypeSettingForm_Load(object sender, EventArgs e)
        {
            //窗体加载,取出所有房间类型信息
            this.panInfo.Visible = false;
            try
            {
                List<RoomType> list = bll.SelectRoomType();
                dataGridView1.DataSource = list;
            }
            catch (Exception ex)
            {
                MessageBox.Show(ex.Message);
            }
        }

        private void tsBntAdd_Click(object sender, EventArgs e)
        {
            //窗体拉大,显示添加控件,并清空
            this.ClientSize = new System.Drawing.Size(610, 430);
            panInfo.Visible = true;
            panInfo.Enabled = true;
            txtAddBedPrice.Text = "";
            txtRemark.Text = "";
            txtTypeName.Text = "";
            txtTypePrice.Text = "";
            i = 1;//把i赋值为1,表示添加
        }

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

        private void dataGridView1_CellClick(object sender, DataGridViewCellEventArgs e)
        {
            this.ClientSize = new System.Drawing.Size(610, 430);
            panInfo.Visible = true;
            panInfo.Enabled = false;
            int typeID = Convert.ToInt32(dataGridView1.CurrentRow.Cells["TypeID"].Value);//获得选中行的第一列
            try
            {
                //根据选中行的类型编号查找类型信息,并加到控件中
                List<RoomType> list = bll.SelectRoomTypeByTypeID(typeID);
                foreach (RoomType t in list)
                {
                    txtTypeName.Text = t.TypeName;
                    txtTypePrice.Text = t.TypePrice.ToString();
                    txtAddBedPrice.Text = t.AddBedPrice.ToString();
                    string isAddBed = t.IsAddBed.ToString().Trim();
                    if (isAddBed == "是")
                    {
                        cboIsAddBed.Checked = true;
                    }
                    else
                    {
                        cboIsAddBed.Checked = false;
                    }
                    txtRemark.Text = t.Remark;
                }
            }
            catch (Exception ex)
            {
                MessageBox.Show(ex.Message);
            }
        }

        #region 点击保存按钮时,判断是添加还是修改
        /// <summary>
        /// 点击保存按钮时,判断是添加还是修改
        /// </summary>
        public void save()
        {
            //保存时,通过判断i的值来决定是添加,还是修改
            //1为添加
            if (i == 1)
            {
                try
                {
                    //封装要添加的信息
                    RoomType t = new RoomType();
                    t.TypeName = txtTypeName.Text.ToString();
                    t.TypePrice = Convert.ToSingle(txtTypePrice.Text.ToString());

                    if (cboIsAddBed.Checked == true)
                    {
                        t.IsAddBed = "是";
                        t.AddBedPrice = Convert.ToSingle(txtAddBedPrice.Text.ToString());
                    }
                    else
                    {
                        t.IsAddBed = "否";
                        t.AddBedPrice = 0;
                    }
                    t.Remark = txtRemark.Text.ToString();
                    //先判断类型名称是否重复
                    List<RoomType> count = bll.SelectRoomTypeByName(txtTypeName.Text.ToString().Trim());
                    if (count.Count > 0)
                    {
                        MessageBox.Show("此类型名称已存在!");
                        return;
                    }
                    else
                    {
                        bll.InsertRoomType(t);
                        //添加成功,dataGridView要求及时刷新
                        List<RoomType> list = bll.SelectRoomType();
                        dataGridView1.DataSource = list;
                        i = 0;//重置i
                        panInfo.Enabled = false;
                    }
                }
                catch (Exception ex)
                {
                    MessageBox.Show(ex.Message);
                }
            }
            //2.修改
            if (i == 2)
            {
                try
                {
                    RoomType t = new RoomType();
                    int typeID = Convert.ToInt32(dataGridView1.CurrentRow.Cells["TypeID"].Value);
                    t.TypeID = typeID;
                    t.TypeName = txtTypeName.Text.ToString();
                    t.TypePrice = Convert.ToSingle(txtTypePrice.Text.ToString());

                    if (cboIsAddBed.Checked == true)
                    {
                        t.IsAddBed = "是";
                        t.AddBedPrice = Convert.ToSingle(txtAddBedPrice.Text.ToString());
                    }
                    else
                    {
                        t.IsAddBed = "否";
                        t.AddBedPrice = 0;
                    }
                    t.Remark = txtRemark.Text.ToString();
                    bool b = bll.UpdateRoomTypeByID(t);
                    if (b)
                    {
                        //修改成功刷新dataGridView1
                        List<RoomType> list = bll.SelectRoomType();
                        dataGridView1.DataSource = list;
                        i = 0;//重置i
                        panInfo.Enabled = false;
                    }
                    else
                    {
                        MessageBox.Show("失败");
                    }
                }
                catch (Exception ex)
                {
                    throw new Exception(ex.Message);
                }
            }
        }
        #endregion

        private void tsBtnSave_Click(object sender, EventArgs e)
        {
            //判断用户是否填写信息
            if (cboIsAddBed.Checked == true)//选定加房,则加上加房价格的判断
            {
                if (txtTypeName.Text.Trim() == "" || txtTypePrice.Text.Trim() == "" || txtAddBedPrice.Text.Trim() == "")
                {
                    MessageBox.Show("请填写完整信息!");
                    return;
                }
                else
                {
                    save();
                }
            }
            else
            {
                if (txtTypeName.Text.Trim() == "" || txtTypePrice.Text.Trim() == "")
                {
                    MessageBox.Show("请填写完整信息!");
                    return;
                }
                else
                {
                    save();
                }
            }
        }

        private void tsBntUpdate_Click(object sender, EventArgs e)
        {
            panInfo.Enabled = true;
            panInfo.Visible = true;
            panInfo.Enabled = true;
            i = 2;//修改i为2,表示修改控件已使用

            //根据编号查出要修改的信息
            int typeID = Convert.ToInt32(dataGridView1.CurrentRow.Cells["TypeID"].Value);//获得选中行的第一列
            try
            {
                List<RoomType> list = bll.SelectRoomTypeByTypeID(typeID);
                foreach (RoomType t in list)
                {
                    txtTypeName.Text = t.TypeName;
                    txtTypePrice.Text = t.TypePrice.ToString();
                    txtAddBedPrice.Text = t.AddBedPrice.ToString();
                    string isAddBed = t.IsAddBed.ToString().Trim();
                    if (isAddBed == "是")
                    {
                        cboIsAddBed.Checked = true;
                    }
                    else
                    {
                        cboIsAddBed.Checked = false;
                    }
                    txtRemark.Text = t.Remark;
                }
            }
            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)
            {
                //根据typeID删除信息
                int typeID = Convert.ToInt32(dataGridView1.CurrentRow.Cells["TypeID"].Value);
                try
                {
                    bool b = bll.DeleteRoomTypeByID(typeID);
                    if (b)
                    {
                        //删除成功后进行刷新
                        List<RoomType> list = bll.SelectRoomType();
                        dataGridView1.DataSource = list;
                    }
                }
                catch (Exception ex)
                {
                    MessageBox.Show(ex.Message);
                }
            }
        }

        private void tsBtnCancel_Click(object sender, EventArgs e)
        {
            //取消调用加载事件,窗体返回初始状态
            this.ClientSize = new System.Drawing.Size(610, 300);
            RoomTypeSettingForm_Load(sender, e);
        }

        private void tsBtnExit_Click(object sender, EventArgs e)
        {
            //关闭窗体,设置为此窗体为关闭状态,IsFormOpen = 0
            IsFormOpen = 0;
            this.Close();
        }

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

        private void cboIsAddBed_CheckedChanged(object sender, EventArgs e)
        {
            //确定添加床位,才能填写加床价格
            if (cboIsAddBed.Checked == true)
            {
                txtAddBedPrice.Enabled = true;
            }
            else
            {
                //不加床,加床价格默认为0
                txtAddBedPrice.Text = "0";
                txtAddBedPrice.Enabled = false;
            }
        }

        private void txtTypePrice_TextChanged(object sender, EventArgs e)
        {
            //正则表达式判断数字
            //这个可以写成静态的,就不用老是构造   
            //Regex r = new Regex(@"^([w-.]+)@(([[0-9].[0-9].[0-9].)||[ccc] (([w-]+.)+))([a-zA-Z]||[0-9])(]?)$");
            Regex r = new Regex("^[0-9]{1,}$");
            if (!r.IsMatch(txtTypePrice.Text))
            {
                MessageBox.Show("请输入数字");
            }
        }

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

⌨️ 快捷键说明

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