📄 myhotelroominfoform.cs
字号:
using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Text;
using System.Windows.Forms;
using MyHotelIBLL;
using MyHotelBLLFactory;
using MyHotelModel;
namespace MyHotel
{
public partial class MyHotelRoomInfoForm : Form
{
#region 定义变量
IRoomTypeManager roomTypeManager;
IRoomTypeCommandManager cmdRoomTypeManager;
IRoomManager roomManager;
IRoomCommandManager cmdManager;
BindingManagerBase manager;
IList<Room> rooms;
bool searchFlag = false;
#endregion
#region 系统事件
public MyHotelRoomInfoForm()
{
InitializeComponent();
rooms = new List<Room>();
}
private void MyHotelRoomInfoForm_Load(object sender, EventArgs e)
{
ClearText();
if (this.txtRoomNumber.Text == "")
{
this.tsBtnModify.Enabled = false;
}
roomTypeManager = ManagerFactory.CreateRoomTypeManager();
cmdRoomTypeManager = ManagerFactory.CreateRoomTypeCommandManager();
roomManager = ManagerFactory.CreateRoomManager();
cmdManager = ManagerFactory.CreateRoomCommandManager();
SetTypeNameCob();
rooms = roomManager.FindAllRooms();
ShowGridView(rooms);
this.dgvRoom.AutoGenerateColumns = false;
searchFlag = false;
}
/// <summary>
/// 数据查询
/// </summary>
/// <param name="sender"></param>
/// <param name="e"></param>
private void btnSearch_Click(object sender, EventArgs e)
{
roomManager = ManagerFactory.CreateRoomManager();
rooms = roomManager.FindRoomByRoomNumber(this.txtRoomNumberSearch.Text.Trim());
if (rooms.Count == 0)
{
this.epNoData.SetError(this.txtRoomNumberSearch, "没有您要查的房间号!");
this.dgvRoom.DataSource = null;
}
else
{
ShowGridView(rooms);
this.epNoData.Clear();
}
searchFlag = true;
SetTypeNameCob();
ClearText();
}
/// <summary>
/// 添加数据
/// </summary>
/// <param name="sender"></param>
/// <param name="e"></param>
private void tsBtnAdd_Click(object sender, EventArgs e)
{
this.txtRoomNumber.Focus();
if (this.txtRoomNumber.Text != "")
{
roomManager = ManagerFactory.CreateRoomManager();
IList<Room> roomSearch = roomManager.FindRoomByRoomNumber(this.txtRoomNumber.Text.Trim());
if (roomSearch.Count == 0)
{
Room room = new Room();
room.Number = this.txtRoomNumber.Text.Trim();
room.TypeId = Convert.ToInt32(this.cboTypeName.Tag);
room.BedNumber = Convert.ToInt32(this.txtBedNumber.Text.Trim());
room.Description = this.txtDescription.Text.Trim();
room.State = this.cboState.Text;
room.GuestNumber = Convert.ToInt32(this.txtGuestNumber.Text.Trim());
rooms.Add(room);
this.dgvRoom.DataSource = null;
this.dgvRoom.DataSource = rooms;
cmdManager.CreateAddRoomCommand(room);
ClearText();
SetTypeNameCob();
}
else
{
this.epHaveData.SetError(this.lblRoomNumber, "抱歉,该房间已有人住!");
}
}
}
/// <summary>
/// 修改数据
/// </summary>
/// <param name="sender"></param>
/// <param name="e"></param>
private void tsBtnModify_Click(object sender, EventArgs e)
{
this.epHaveData.Clear();
Room room = this.dgvRoom.Rows[this.dgvRoom.SelectedCells[0].RowIndex].DataBoundItem as Room;
room.Number = this.txtRoomNumber.Text.Trim();
room.TypeId = Convert.ToInt32(this.cboTypeName.Tag);
room.BedNumber = Convert.ToInt32(this.txtBedNumber.Text.Trim());
room.Description = this.txtDescription.Text.Trim();
room.State = this.cboState.Text;
room.GuestNumber = Convert.ToInt32(this.txtGuestNumber.Text.Trim());
this.dgvRoom.DataSource = null;
this.dgvRoom.DataSource = rooms;
cmdManager.CreateUpdateRoomCommand(room);
}
/// <summary>
/// 删除数据
/// </summary>
/// <param name="sender"></param>
/// <param name="e"></param>
private void tsBtnDelete_Click(object sender, EventArgs e)
{
this.epHaveData.Clear();
Room room = this.dgvRoom.Rows[this.dgvRoom.SelectedCells[0].RowIndex].DataBoundItem as Room;
rooms.Remove(room);
if (rooms.Count <= 0)
{
this.tsBtnDelete.Enabled = false;
this.tsBtnModify.Enabled = false;
}
this.dgvRoom.DataSource = null;
this.dgvRoom.DataSource = rooms;
cmdManager.CreateDeleteRoomCommand(room.RoomId);
ClearText();
}
/// <summary>
/// 取消所有操作
/// </summary>
/// <param name="sender"></param>
/// <param name="e"></param>
private void tsBtnCancel_Click(object sender, EventArgs e)
{
cmdManager.Cancel();
this.epHaveData.Clear();
this.dgvRoom.DataSource = null;
if (searchFlag)
btnSearch_Click(sender, e);
else
MyHotelRoomInfoForm_Load(sender, e);
this.tsBtnDelete.Enabled = true;
this.tsBtnModify.Enabled = true;
ClearText();
}
/// <summary>
/// 保存数据
/// </summary>
/// <param name="sender"></param>
/// <param name="e"></param>
private void tsBtnSave_Click(object sender, EventArgs e)
{
cmdManager.SaveAll();
this.epHaveData.Clear();
this.dgvRoom.DataSource = null;
if (searchFlag)
btnSearch_Click(sender, e);
else
MyHotelRoomInfoForm_Load(sender, e);
SetTypeNameCob();
ClearText();
}
/// <summary>
/// 选中一行数据
/// </summary>
/// <param name="sender"></param>
/// <param name="e"></param>
private void dgvRoom_CellClick(object sender, DataGridViewCellEventArgs e)
{
this.tsBtnModify.Enabled = true;
this.epHaveData.Clear();
if (manager.Count <= 0) return;
Room room = manager.Current as Room;
RoomType roomType = roomTypeManager.FindRoomTypeById(room.TypeId);
this.txtRoomNumber.Text = room.Number;
this.cboTypeName.Text = roomType.TypeName;
this.txtPrice.Text = roomType.TypePrice.ToString();
this.txtBedNumber.Text = room.BedNumber.ToString();
this.txtDescription.Text = room.Description;
this.cboState.Text = room.State;
this.txtGuestNumber.Text = room.GuestNumber.ToString();
}
/// <summary>
/// 退出
/// </summary>
/// <param name="sender"></param>
/// <param name="e"></param>
private void tsBtnExit_Click(object sender, EventArgs e)
{
this.Close();
}
#endregion
#region 自定义方法
/// <summary>
/// 数据显示
/// </summary>
/// <param name="list"></param>
public void ShowGridView(IList<Room> list)
{
this.dgvRoom.DataSource = list;
manager = this.dgvRoom.BindingContext[this.dgvRoom.DataSource];
manager.PositionChanged += new EventHandler(manager_CurrentChanged);
if (manager.Count > 0)
{
manager.Position = -1;
manager.Position = 0;
}
}
/// <summary>
/// manager_CurrentChanged
/// </summary>
/// <param name="sender"></param>
/// <param name="e"></param>
public void manager_CurrentChanged(object sender, EventArgs e)
{
this.tsBtnModify.Enabled = true;
Room room = manager.Current as Room;
RoomType roomType = roomTypeManager.FindRoomTypeById(room.TypeId);
this.txtRoomNumber.Text = room.Number;
this.cboTypeName.Text = roomType.TypeName;
this.txtPrice.Text = roomType.TypePrice.ToString();
this.txtBedNumber.Text = room.BedNumber.ToString();
this.txtDescription.Text = room.Description;
this.cboState.Text = room.State;
this.txtGuestNumber.Text = room.GuestNumber.ToString();
}
/// <summary>
/// 房间类型绑定数据
/// </summary>
public void SetTypeNameCob()
{
this.cboTypeName.Items.Clear();
IList<RoomType> types = new List<RoomType>();
types = roomTypeManager.FindAllRoomTypes();
for (int i = 0; i < types.Count; i++)
{
RoomType type = types[i];
this.cboTypeName.Tag = type.TypeId.ToString();
this.cboTypeName.Items.Add(type.TypeName);
}
}
/// <summary>
/// 清空文本
/// </summary>
private void ClearText()
{
this.txtRoomNumber.Text = "";
this.txtPrice.Text = "";
this.txtBedNumber.Text = "";
this.txtDescription.Text = "";
this.cboState.Text = null;
this.txtGuestNumber.Text = "";
}
#endregion
}
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -