📄 roomtypesettingform.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 + -