📄 depositform.cs
字号:
//文件名:DepositForm.cs
using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Text;
using System.Windows.Forms;
using System.Data.SqlClient;
namespace MyHotel
{
public partial class DepositForm : Form
{
public DepositForm()
{
InitializeComponent();
}
public string MyOperator;
public String MyCompany;
private string My入住编号;
private double My累计补交押金=0;
private double My店内消费 = 0;
private double My电话费 = 0;
private double My用餐费 = 0;
private double My住宿费 = 0;
private double My费用总额 = 0;
private void DepositForm_Load(object sender, EventArgs e)
{
//获取酒店已入住房间信息
this.酒店房号ComboBox.Items.Clear();
String MySQLConnectionString = global::MyHotel.Properties.Settings.Default.MyHotelConnectionString;
SqlConnection MyConnection = new SqlConnection(MySQLConnectionString);
MyConnection.Open();
DataTable MyRoomTable = new DataTable();
string MySQL = "Select * From 酒店房间 Where 已入住人数<>0 ";
SqlDataAdapter MyAdapter = new SqlDataAdapter(MySQL, MyConnection);
MyAdapter.Fill(MyRoomTable);
this.酒店房号ComboBox.DataSource = MyRoomTable;
this.酒店房号ComboBox.DisplayMember = "房号";
this.酒店房号ComboBox.ValueMember = "房号";
if (MyConnection.State == ConnectionState.Open)
{
MyConnection.Close();
}
}
private void 酒店房号ComboBox_SelectedIndexChanged(object sender, EventArgs e)
{
//获取入住客人信息
String MySQLConnectionString = global::MyHotel.Properties.Settings.Default.MyHotelConnectionString;
string MySQL = "Select 客人姓名,入住编号 From 客房入住单 Where 房号='" + this.酒店房号ComboBox.Text + "' AND 入住编号 NOT IN(Select 入住编号 FROM 客房结帐单)";
SqlConnection MyConnection = new SqlConnection(MySQLConnectionString);
MyConnection.Open();
DataTable MyGuestTable = new DataTable();
SqlDataAdapter MyAdapter = new SqlDataAdapter(MySQL, MyConnection);
MyAdapter.Fill(MyGuestTable);
this.旅客姓名ComboBox.DataSource = MyGuestTable;
this.旅客姓名ComboBox.DisplayMember = "客人姓名";
this.旅客姓名ComboBox.ValueMember = "入住编号";
if (MyConnection.State == ConnectionState.Open)
{
MyConnection.Close();
}
}
private void 旅客姓名ComboBox_SelectedIndexChanged(object sender, EventArgs e)
{
My累计补交押金=0;
My店内消费 = 0;
My电话费 = 0;
My用餐费 = 0;
My住宿费 = 0;
My费用总额 = 0;
this.预收押金TextBox.Text = "";
this.电话费TextBox.Text = "";
this.用餐费TextBox.Text = "";
this.店内消费TextBox.Text = "";
this.住宿费TextBox.Text = "";
this.补交押金TextBox.Text = "";
this.费用总额TextBox.Text = "";
this.My入住编号 = this.旅客姓名ComboBox.SelectedValue.ToString();
String MySQLConnectionString = global::MyHotel.Properties.Settings.Default.MyHotelConnectionString;
SqlConnection MyConnection = new SqlConnection(MySQLConnectionString);
MyConnection.Open();
string MySQL = "Select SUM(预收押金) From 客房入住单 Where 入住编号='" + this.My入住编号 + "'";
SqlCommand MyCommand = new SqlCommand(MySQL, MyConnection);
this.预收押金TextBox.Text= MyCommand.ExecuteScalar().ToString();
MySQL = "Select SUM(金额) From 话费入帐 Where 入住编号='" + this.My入住编号 + "'";
MyCommand = new SqlCommand(MySQL, MyConnection);
this.电话费TextBox.Text = MyCommand.ExecuteScalar().ToString();
MySQL = "Select SUM(金额) From 餐费入帐 Where 入住编号='" + this.My入住编号 + "'";
MyCommand = new SqlCommand(MySQL, MyConnection);
this.用餐费TextBox.Text = MyCommand.ExecuteScalar().ToString();
MySQL = "Select SUM(数量*折扣价格) From 消费入帐 Where 入住编号='" + this.My入住编号 + "'";
MyCommand = new SqlCommand(MySQL, MyConnection);
this.店内消费TextBox.Text = MyCommand.ExecuteScalar().ToString();
MySQL = "Select 折扣价格,入住日期,住宿人数 From 客房入住单 Where 入住编号='" + this.My入住编号 + "'";
DataTable MyNewTable = new DataTable();
SqlDataAdapter MyAdapter = new SqlDataAdapter(MySQL, MyConnection);
MyAdapter.Fill(MyNewTable);
string My折扣价格 = MyNewTable.Rows[0][0].ToString();
DateTime My入住日期 = (DateTime)MyNewTable.Rows[0][1];
TimeSpan MySpan = DateTime.Now.Subtract(My入住日期);
int My住宿人数 = Convert.ToInt16(MyNewTable.Rows[0][2].ToString());
My住宿费 = Convert.ToDouble(My折扣价格) * Math.Round(MySpan.TotalDays, 0) * My住宿人数;
this.住宿费TextBox.Text = My住宿费.ToString();
if (this.店内消费TextBox.Text.Length > 1)
My店内消费 = Convert.ToDouble(this.店内消费TextBox.Text);
if (this.电话费TextBox.Text.Length > 1)
My电话费 = Convert.ToDouble(this.电话费TextBox.Text);
if (this.用餐费TextBox.Text.Length > 1)
My用餐费 = Convert.ToDouble(this.用餐费TextBox.Text);
My费用总额 = My住宿费 + My电话费 + My用餐费 + My店内消费;
this.费用总额TextBox.Text = My费用总额.ToString();
double My补交押金 = My费用总额 - Convert.ToDouble(this.预收押金TextBox.Text);
this.补交押金TextBox.Text = My补交押金.ToString();
MySQL="Select * From 客房入住单 Where 入住编号='"+this.My入住编号 +"'";
DataTable MyGuestTable = new DataTable();
SqlDataAdapter MyDataAdapter = new SqlDataAdapter(MySQL, MyConnection);
MyDataAdapter.Fill(MyGuestTable);
this.客房入住单DataGridView.DataSource = MyGuestTable;
if (MyConnection.State == ConnectionState.Open)
{
MyConnection.Close();
}
}
private void 打印Button_Click(object sender, EventArgs e)
{
if (this.旅客姓名ComboBox.Text.Length < 1 || Convert.ToDouble(this.补交押金TextBox.Text) <=0 )
{
return;
}
if (MessageBox.Show("当您为旅客打印押金单后,您必须保存该项操作,是否继续?", "信息提示", MessageBoxButtons.YesNo, MessageBoxIcon.Question) == DialogResult.No)
{
return;
}
this.printPreviewDialog1.Document = this.printDocument1;
this.printPreviewDialog1.ShowDialog();
this.补交押金TextBox.Enabled = false;
}
private void printDocument1_PrintPage(object sender, System.Drawing.Printing.PrintPageEventArgs e)
{
//打印费用押金单
e.Graphics.DrawString(this.MyCompany + "押金费用单", new Font("宋体", 20), Brushes.Black, 220, 80);
e.Graphics.DrawString("入住编号:" + this.My入住编号, new Font("宋体", 12), Brushes.Black, 100, 150);
e.Graphics.DrawString("操作员:" + this.MyOperator, new Font("宋体", 12), Brushes.Black, 600, 150);
e.Graphics.DrawLine(new Pen(Color.Black, (float)3.00), 100, 185, 720, 185);
e.Graphics.DrawString("房号:" + this.酒店房号ComboBox.Text, new Font("宋体", 12), Brushes.Black, 110, 195);
e.Graphics.DrawString("姓名:" + this.旅客姓名ComboBox.Text, new Font("宋体", 12), Brushes.Black, 300, 195);
My累计补交押金 = Convert.ToDouble(this.预收押金TextBox.Text) + Convert.ToDouble(this.补交押金TextBox.Text);
e.Graphics.DrawString("累计补交押金:" + My累计补交押金.ToString(), new Font("宋体", 12), Brushes.Black, 530, 195);
e.Graphics.DrawLine(new Pen(Color.Black), 100, 215, 720, 215);
e.Graphics.DrawString(" 序号 费用类别 金额", new Font("宋体", 12), Brushes.Black, 110, 220);
e.Graphics.DrawLine(new Pen(Color.Black), 100, 240, 720, 240);
e.Graphics.DrawString(" 1 店内消费 "+this.My店内消费.ToString(), new Font("宋体", 12), Brushes.Black, 110, 245);
e.Graphics.DrawString(" 2 住宿费 " + this.My住宿费.ToString(), new Font("宋体", 12), Brushes.Black, 110, 265);
e.Graphics.DrawString(" 3 电话费 " + this.My电话费.ToString(), new Font("宋体", 12), Brushes.Black, 110, 285);
e.Graphics.DrawString(" 4 用餐费 " + this.My用餐费.ToString(), new Font("宋体", 12), Brushes.Black, 110, 305);
e.Graphics.DrawLine(new Pen(Color.Black), 100, 325, 720, 325);
e.Graphics.DrawString(" 费用金额合计:" + this.My费用总额.ToString(), new Font("宋体", 12), Brushes.Black, 110, 330);
e.Graphics.DrawLine(new Pen(Color.Black, (float)3.00), 100, 350, 720, 350);
DateTime MyDate = DateTime.Now;
e.Graphics.DrawString("打印日期:" + MyDate.ToLongDateString() + MyDate.ToLongTimeString(), new Font("宋体", 12), Brushes.Black, 450, 355);
e.Graphics.DrawString("温馨提示:为了维护您及他人的合法权益,请不要带未经登记的人员进出您的房间。", new Font("宋体", 12), Brushes.Black, 100, 375);
e.Graphics.DrawString("警察提示:请保管好您的物品,重要物品请寄存于酒店寄存处,免费寄存!", new Font("宋体", 12), Brushes.Black, 100, 395);
e.Graphics.DrawString("谢谢合作!", new Font("宋体", 20), Brushes.Black, 550, 415);
}
private void 保存Button_Click(object sender, EventArgs e)
{
if (this.旅客姓名ComboBox.Text.Length < 1 || Convert.ToDouble(this.补交押金TextBox.Text) <= 0 )
{
return;
}
if (this.My累计补交押金 < 1)
{
return;
}
String MySQLConnectionString = global::MyHotel.Properties.Settings.Default.MyHotelConnectionString;
string MySQL = "Update 客房入住单 Set 预收押金=" + this.My累计补交押金.ToString() + " ,说明='"+this.说明TextBox.Text+"'WHERE 入住编号='" + this.My入住编号 + "'";
SqlConnection MyConnection = new SqlConnection(MySQLConnectionString);
MyConnection.Open();
SqlCommand MyCommand = MyConnection.CreateCommand();
MyCommand.CommandText = MySQL;
MyCommand.ExecuteNonQuery();
if (MyConnection.State == ConnectionState.Open)
{
MyConnection.Close();
}
this.My累计补交押金 = 0;
this.补交押金TextBox.Enabled = true;
旅客姓名ComboBox_SelectedIndexChanged(null, null);
}
}
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -