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

📄 depositform.cs

📁 一个很好的宾馆管理系统 VC++和SQL做的
💻 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 + -