qr8P29Jr@J0!}ry2VI+M2tzYwq
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
+ /// Required designer variable.
+ ///
+ private System.ComponentModel.IContainer components = null;
+
+ ///
+ /// Clean up any resources being used.
+ ///
+ /// true if managed resources should be disposed; otherwise, false.
+ protected override void Dispose(bool disposing)
+ {
+ if (disposing && (components != null))
+ {
+ components.Dispose();
+ }
+ base.Dispose(disposing);
+ }
+
+ #region Windows Form Designer generated code
+
+ ///
+ /// Required method for Designer support - do not modify
+ /// the contents of this method with the code editor.
+ ///
+ private void InitializeComponent()
+ {
+ this.btnManagement = new System.Windows.Forms.Button();
+ this.tabControl1 = new System.Windows.Forms.TabControl();
+ this.tabPageLecture = new System.Windows.Forms.TabPage();
+ this.treeLecture = new System.Windows.Forms.TreeView();
+ this.tabPageMovie = new System.Windows.Forms.TabPage();
+ this.treeMovie = new System.Windows.Forms.TreeView();
+ this.btnUpdate = new System.Windows.Forms.Button();
+ this.btnBooking = new AuditoriumMS.UserControls.UCBooking();
+ this.tabControl1.SuspendLayout();
+ this.tabPageLecture.SuspendLayout();
+ this.tabPageMovie.SuspendLayout();
+ this.SuspendLayout();
+ //
+ // btnManagement
+ //
+ this.btnManagement.Anchor = ((System.Windows.Forms.AnchorStyles)((System.Windows.Forms.AnchorStyles.Top | System.Windows.Forms.AnchorStyles.Right)));
+ this.btnManagement.Location = new System.Drawing.Point(1182, 13);
+ this.btnManagement.Margin = new System.Windows.Forms.Padding(3, 4, 3, 4);
+ this.btnManagement.Name = "btnManagement";
+ this.btnManagement.Size = new System.Drawing.Size(104, 30);
+ this.btnManagement.TabIndex = 1;
+ this.btnManagement.Text = "管理";
+ this.btnManagement.UseVisualStyleBackColor = true;
+ this.btnManagement.Click += new System.EventHandler(this.btnManagement_Click);
+ //
+ // tabControl1
+ //
+ this.tabControl1.Anchor = ((System.Windows.Forms.AnchorStyles)(((System.Windows.Forms.AnchorStyles.Top | System.Windows.Forms.AnchorStyles.Bottom)
+ | System.Windows.Forms.AnchorStyles.Left)));
+ this.tabControl1.Controls.Add(this.tabPageLecture);
+ this.tabControl1.Controls.Add(this.tabPageMovie);
+ this.tabControl1.Location = new System.Drawing.Point(12, 13);
+ this.tabControl1.Name = "tabControl1";
+ this.tabControl1.SelectedIndex = 0;
+ this.tabControl1.Size = new System.Drawing.Size(186, 616);
+ this.tabControl1.TabIndex = 2;
+ //
+ // tabPageLecture
+ //
+ this.tabPageLecture.Controls.Add(this.treeLecture);
+ this.tabPageLecture.Location = new System.Drawing.Point(4, 26);
+ this.tabPageLecture.Name = "tabPageLecture";
+ this.tabPageLecture.Padding = new System.Windows.Forms.Padding(3);
+ this.tabPageLecture.Size = new System.Drawing.Size(178, 586);
+ this.tabPageLecture.TabIndex = 0;
+ this.tabPageLecture.Text = "讲座";
+ this.tabPageLecture.UseVisualStyleBackColor = true;
+ //
+ // treeLecture
+ //
+ this.treeLecture.Dock = System.Windows.Forms.DockStyle.Fill;
+ this.treeLecture.Location = new System.Drawing.Point(3, 3);
+ this.treeLecture.Name = "treeLecture";
+ this.treeLecture.Size = new System.Drawing.Size(172, 580);
+ this.treeLecture.TabIndex = 0;
+ this.treeLecture.NodeMouseClick += new System.Windows.Forms.TreeNodeMouseClickEventHandler(this.treeView_NodeMouseClick);
+ //
+ // tabPageMovie
+ //
+ this.tabPageMovie.Controls.Add(this.treeMovie);
+ this.tabPageMovie.Location = new System.Drawing.Point(4, 26);
+ this.tabPageMovie.Name = "tabPageMovie";
+ this.tabPageMovie.Padding = new System.Windows.Forms.Padding(3);
+ this.tabPageMovie.Size = new System.Drawing.Size(178, 586);
+ this.tabPageMovie.TabIndex = 1;
+ this.tabPageMovie.Text = "电影";
+ this.tabPageMovie.UseVisualStyleBackColor = true;
+ //
+ // treeMovie
+ //
+ this.treeMovie.Dock = System.Windows.Forms.DockStyle.Fill;
+ this.treeMovie.Location = new System.Drawing.Point(3, 3);
+ this.treeMovie.Name = "treeMovie";
+ this.treeMovie.Size = new System.Drawing.Size(172, 580);
+ this.treeMovie.TabIndex = 0;
+ this.treeMovie.NodeMouseClick += new System.Windows.Forms.TreeNodeMouseClickEventHandler(this.treeView_NodeMouseClick);
+ //
+ // btnUpdate
+ //
+ this.btnUpdate.Location = new System.Drawing.Point(116, 13);
+ this.btnUpdate.Name = "btnUpdate";
+ this.btnUpdate.Size = new System.Drawing.Size(75, 23);
+ this.btnUpdate.TabIndex = 4;
+ this.btnUpdate.Text = "刷新";
+ this.btnUpdate.UseVisualStyleBackColor = true;
+ this.btnUpdate.Click += new System.EventHandler(this.btnUpdate_Click);
+ //
+ // btnBooking
+ //
+ this.btnBooking.Anchor = ((System.Windows.Forms.AnchorStyles)((((System.Windows.Forms.AnchorStyles.Top | System.Windows.Forms.AnchorStyles.Bottom)
+ | System.Windows.Forms.AnchorStyles.Left)
+ | System.Windows.Forms.AnchorStyles.Right)));
+ this.btnBooking.Font = new System.Drawing.Font("微软雅黑", 9F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(134)));
+ this.btnBooking.ID = 0;
+ this.btnBooking.Location = new System.Drawing.Point(200, 51);
+ this.btnBooking.Margin = new System.Windows.Forms.Padding(3, 4, 3, 4);
+ this.btnBooking.Name = "btnBooking";
+ this.btnBooking.Size = new System.Drawing.Size(1086, 578);
+ this.btnBooking.TabIndex = 3;
+ //
+ // FormMain
+ //
+ this.AutoScaleDimensions = new System.Drawing.SizeF(96F, 96F);
+ this.AutoScaleMode = System.Windows.Forms.AutoScaleMode.Dpi;
+ this.ClientSize = new System.Drawing.Size(1298, 645);
+ this.Controls.Add(this.btnUpdate);
+ this.Controls.Add(this.btnBooking);
+ this.Controls.Add(this.tabControl1);
+ this.Controls.Add(this.btnManagement);
+ this.Font = new System.Drawing.Font("微软雅黑", 9F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(134)));
+ this.Margin = new System.Windows.Forms.Padding(3, 4, 3, 4);
+ this.MinimumSize = new System.Drawing.Size(700, 500);
+ this.Name = "FormMain";
+ this.StartPosition = System.Windows.Forms.FormStartPosition.CenterScreen;
+ this.Text = "培优礼堂票务管理系统";
+ this.Load += new System.EventHandler(this.FormMain_Load);
+ this.tabControl1.ResumeLayout(false);
+ this.tabPageLecture.ResumeLayout(false);
+ this.tabPageMovie.ResumeLayout(false);
+ this.ResumeLayout(false);
+
+ }
+
+ #endregion
+ private System.Windows.Forms.Button btnManagement;
+ private System.Windows.Forms.TabControl tabControl1;
+ private System.Windows.Forms.TabPage tabPageLecture;
+ private System.Windows.Forms.TreeView treeLecture;
+ private System.Windows.Forms.TabPage tabPageMovie;
+ private System.Windows.Forms.TreeView treeMovie;
+ private UserControls.UCBooking btnBooking;
+ private System.Windows.Forms.Button btnUpdate;
+ }
+}
\ No newline at end of file
diff --git a/AuditoriumMS/FormMain.cs b/AuditoriumMS/FormMain.cs
new file mode 100644
index 0000000..8bc9b95
--- /dev/null
+++ b/AuditoriumMS/FormMain.cs
@@ -0,0 +1,100 @@
+using System;
+using System.Collections.Generic;
+using System.ComponentModel;
+using System.Data;
+using System.Drawing;
+using System.Linq;
+using System.Text;
+using System.Windows.Forms;
+
+namespace AuditoriumMS
+{
+ public partial class FormMain : Form
+ {
+ public FormMain()
+ {
+ InitializeComponent();
+ }
+
+ private void btnManagement_Click(object sender, EventArgs e)
+ {
+ Forms.FormAdminLogin form = new Forms.FormAdminLogin();
+ if (form.ShowDialog() == DialogResult.OK)
+ {
+ FormManageSystem formManageSystem = new FormManageSystem();
+ formManageSystem.ShowDialog();
+ }
+ }
+
+ private void FormMain_Load(object sender, EventArgs e)
+ {
+ UpdateAuditoriumInfo();
+ }
+
+ ///
+ /// 更新礼堂信息
+ ///
+ private void UpdateAuditoriumInfo()
+ {
+ try
+ {
+ treeLecture.Nodes.Clear();
+ treeMovie.Nodes.Clear();
+ DataTable dt = Access.obj.GetDataTable("SELECT ID,名称,开始时间,类型 FROM 礼堂表 WHERE 开始时间 > now() ORDER BY 开始时间");
+ // 遍历每一场
+ foreach (DataRow row in dt.Rows)
+ {
+ string nodeText = string.Format("{0} {1}",
+ Convert.ToDateTime(row["开始时间"]).ToString("HH:mm"),
+ row["名称"]);
+ TreeNode node = new TreeNode(nodeText);
+ node.Name = node.Text;
+ node.Tag = row["ID"];
+ DateTime startTime = Convert.ToDateTime(row["开始时间"]);
+ string DateKey = string.Format("{0} {1}", startTime.ToString("yyyy-MM-dd"), startTime.DayOfWeek);
+ // DateTime.Now.DayOfWeek
+ if (row["类型"].ToString() == "讲座")
+ {
+ // 如果没有这一场的日期,则添加一个日期节点
+ if (!treeLecture.Nodes.ContainsKey(DateKey))
+ {
+ TreeNode PNode = new TreeNode(DateKey);
+ PNode.Name = DateKey;
+ treeLecture.Nodes.Add(PNode);
+ }
+ treeLecture.Nodes[DateKey].Nodes.Add(node);
+ }
+ else
+ {
+ // 如果没有这一场的日期,则添加一个日期节点
+ if (!treeMovie.Nodes.ContainsKey(DateKey))
+ {
+ TreeNode PNode = new TreeNode(DateKey);
+ PNode.Name = DateKey;
+ treeMovie.Nodes.Add(PNode);
+ }
+ treeMovie.Nodes[DateKey].Nodes.Add(node);
+ }
+ }
+ }
+ catch (Exception ex)
+ {
+ MessageBox.Show(ex.Message, "错误", MessageBoxButtons.OK, MessageBoxIcon.Error);
+ return;
+ }
+ }
+
+ private void treeView_NodeMouseClick(object sender, TreeNodeMouseClickEventArgs e)
+ {
+ if (e.Node.Tag == null)
+ return;
+
+ this.btnBooking.ID = Convert.ToInt32(e.Node.Tag);
+ }
+
+ private void btnUpdate_Click(object sender, EventArgs e)
+ {
+ UpdateAuditoriumInfo();
+ }
+ }
+}
diff --git a/AuditoriumMS/FormMain.resx b/AuditoriumMS/FormMain.resx
new file mode 100644
index 0000000..29dcb1b
--- /dev/null
+++ b/AuditoriumMS/FormMain.resx
@@ -0,0 +1,120 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ text/microsoft-resx
+
+
+ 2.0
+
+
+ System.Resources.ResXResourceReader, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089
+
+
+ System.Resources.ResXResourceWriter, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089
+
+
\ No newline at end of file
diff --git a/AuditoriumMS/FormManageSystem.Designer.cs b/AuditoriumMS/FormManageSystem.Designer.cs
new file mode 100644
index 0000000..f98a563
--- /dev/null
+++ b/AuditoriumMS/FormManageSystem.Designer.cs
@@ -0,0 +1,232 @@
+namespace AuditoriumMS
+{
+ partial class FormManageSystem
+ {
+ ///
+ /// Required designer variable.
+ ///
+ private System.ComponentModel.IContainer components = null;
+
+ ///
+ /// Clean up any resources being used.
+ ///
+ /// true if managed resources should be disposed; otherwise, false.
+ protected override void Dispose(bool disposing)
+ {
+ if (disposing && (components != null))
+ {
+ components.Dispose();
+ }
+ base.Dispose(disposing);
+ }
+
+ #region Windows Form Designer generated code
+
+ ///
+ /// Required method for Designer support - do not modify
+ /// the contents of this method with the code editor.
+ ///
+ private void InitializeComponent()
+ {
+ this.menuStrip1 = new System.Windows.Forms.MenuStrip();
+ this.票务信息ToolStripMenuItem = new System.Windows.Forms.ToolStripMenuItem();
+ this.新建ToolStripMenuItem = new System.Windows.Forms.ToolStripMenuItem();
+ this.信息查询ToolStripMenuItem = new System.Windows.Forms.ToolStripMenuItem();
+ this.票务信息查询ToolStripMenuItem = new System.Windows.Forms.ToolStripMenuItem();
+ this.票务数量信息查询ToolStripMenuItem = new System.Windows.Forms.ToolStripMenuItem();
+ this.预订信息查询ToolStripMenuItem = new System.Windows.Forms.ToolStripMenuItem();
+ this.信息统计ToolStripMenuItem = new System.Windows.Forms.ToolStripMenuItem();
+ this.票务信息统计ToolStripMenuItem = new System.Windows.Forms.ToolStripMenuItem();
+ this.预订信息统计ToolStripMenuItem = new System.Windows.Forms.ToolStripMenuItem();
+ this.图形展示ToolStripMenuItem = new System.Windows.Forms.ToolStripMenuItem();
+ this.汇总报表ToolStripMenuItem = new System.Windows.Forms.ToolStripMenuItem();
+ this.班级预订汇总ToolStripMenuItem = new System.Windows.Forms.ToolStripMenuItem();
+ this.设置ToolStripMenuItem = new System.Windows.Forms.ToolStripMenuItem();
+ this.修改密码ToolStripMenuItem = new System.Windows.Forms.ToolStripMenuItem();
+ this.退出登录ToolStripMenuItem = new System.Windows.Forms.ToolStripMenuItem();
+ this.panelMain = new System.Windows.Forms.Panel();
+ this.menuStrip1.SuspendLayout();
+ this.SuspendLayout();
+ //
+ // menuStrip1
+ //
+ this.menuStrip1.Font = new System.Drawing.Font("微软雅黑", 9F);
+ this.menuStrip1.Items.AddRange(new System.Windows.Forms.ToolStripItem[] {
+ this.票务信息ToolStripMenuItem,
+ this.信息查询ToolStripMenuItem,
+ this.信息统计ToolStripMenuItem,
+ this.汇总报表ToolStripMenuItem,
+ this.设置ToolStripMenuItem});
+ this.menuStrip1.Location = new System.Drawing.Point(0, 0);
+ this.menuStrip1.Name = "menuStrip1";
+ this.menuStrip1.Size = new System.Drawing.Size(884, 25);
+ this.menuStrip1.TabIndex = 0;
+ this.menuStrip1.Text = "menuStrip1";
+ //
+ // 票务信息ToolStripMenuItem
+ //
+ this.票务信息ToolStripMenuItem.DropDownItems.AddRange(new System.Windows.Forms.ToolStripItem[] {
+ this.新建ToolStripMenuItem});
+ this.票务信息ToolStripMenuItem.Name = "票务信息ToolStripMenuItem";
+ this.票务信息ToolStripMenuItem.Size = new System.Drawing.Size(68, 21);
+ this.票务信息ToolStripMenuItem.Text = "票务信息";
+ //
+ // 新建ToolStripMenuItem
+ //
+ this.新建ToolStripMenuItem.Name = "新建ToolStripMenuItem";
+ this.新建ToolStripMenuItem.Size = new System.Drawing.Size(100, 22);
+ this.新建ToolStripMenuItem.Text = "新建";
+ this.新建ToolStripMenuItem.Click += new System.EventHandler(this.新建ToolStripMenuItem_Click);
+ //
+ // 信息查询ToolStripMenuItem
+ //
+ this.信息查询ToolStripMenuItem.DropDownItems.AddRange(new System.Windows.Forms.ToolStripItem[] {
+ this.票务信息查询ToolStripMenuItem,
+ this.票务数量信息查询ToolStripMenuItem,
+ this.预订信息查询ToolStripMenuItem});
+ this.信息查询ToolStripMenuItem.Name = "信息查询ToolStripMenuItem";
+ this.信息查询ToolStripMenuItem.Size = new System.Drawing.Size(68, 21);
+ this.信息查询ToolStripMenuItem.Text = "信息查询";
+ //
+ // 票务信息查询ToolStripMenuItem
+ //
+ this.票务信息查询ToolStripMenuItem.Name = "票务信息查询ToolStripMenuItem";
+ this.票务信息查询ToolStripMenuItem.Size = new System.Drawing.Size(172, 22);
+ this.票务信息查询ToolStripMenuItem.Text = "票务信息查询";
+ this.票务信息查询ToolStripMenuItem.Click += new System.EventHandler(this.票务信息查询ToolStripMenuItem_Click);
+ //
+ // 票务数量信息查询ToolStripMenuItem
+ //
+ this.票务数量信息查询ToolStripMenuItem.Name = "票务数量信息查询ToolStripMenuItem";
+ this.票务数量信息查询ToolStripMenuItem.Size = new System.Drawing.Size(172, 22);
+ this.票务数量信息查询ToolStripMenuItem.Text = "票务数量信息查询";
+ this.票务数量信息查询ToolStripMenuItem.Click += new System.EventHandler(this.票务数量信息查询ToolStripMenuItem_Click);
+ //
+ // 预订信息查询ToolStripMenuItem
+ //
+ this.预订信息查询ToolStripMenuItem.Name = "预订信息查询ToolStripMenuItem";
+ this.预订信息查询ToolStripMenuItem.Size = new System.Drawing.Size(172, 22);
+ this.预订信息查询ToolStripMenuItem.Text = "预订信息查询";
+ this.预订信息查询ToolStripMenuItem.Click += new System.EventHandler(this.预订信息查询ToolStripMenuItem_Click);
+ //
+ // 信息统计ToolStripMenuItem
+ //
+ this.信息统计ToolStripMenuItem.DropDownItems.AddRange(new System.Windows.Forms.ToolStripItem[] {
+ this.票务信息统计ToolStripMenuItem,
+ this.预订信息统计ToolStripMenuItem,
+ this.图形展示ToolStripMenuItem});
+ this.信息统计ToolStripMenuItem.Name = "信息统计ToolStripMenuItem";
+ this.信息统计ToolStripMenuItem.Size = new System.Drawing.Size(68, 21);
+ this.信息统计ToolStripMenuItem.Text = "信息统计";
+ //
+ // 票务信息统计ToolStripMenuItem
+ //
+ this.票务信息统计ToolStripMenuItem.Name = "票务信息统计ToolStripMenuItem";
+ this.票务信息统计ToolStripMenuItem.Size = new System.Drawing.Size(148, 22);
+ this.票务信息统计ToolStripMenuItem.Text = "票务信息统计";
+ this.票务信息统计ToolStripMenuItem.Click += new System.EventHandler(this.票务信息统计ToolStripMenuItem_Click);
+ //
+ // 预订信息统计ToolStripMenuItem
+ //
+ this.预订信息统计ToolStripMenuItem.Name = "预订信息统计ToolStripMenuItem";
+ this.预订信息统计ToolStripMenuItem.Size = new System.Drawing.Size(148, 22);
+ this.预订信息统计ToolStripMenuItem.Text = "预订信息统计";
+ this.预订信息统计ToolStripMenuItem.Click += new System.EventHandler(this.预订信息统计ToolStripMenuItem_Click);
+ //
+ // 图形展示ToolStripMenuItem
+ //
+ this.图形展示ToolStripMenuItem.Name = "图形展示ToolStripMenuItem";
+ this.图形展示ToolStripMenuItem.Size = new System.Drawing.Size(148, 22);
+ this.图形展示ToolStripMenuItem.Text = "图形展示";
+ this.图形展示ToolStripMenuItem.Click += new System.EventHandler(this.图形展示ToolStripMenuItem_Click);
+ //
+ // 汇总报表ToolStripMenuItem
+ //
+ this.汇总报表ToolStripMenuItem.DropDownItems.AddRange(new System.Windows.Forms.ToolStripItem[] {
+ this.班级预订汇总ToolStripMenuItem});
+ this.汇总报表ToolStripMenuItem.Name = "汇总报表ToolStripMenuItem";
+ this.汇总报表ToolStripMenuItem.Size = new System.Drawing.Size(92, 21);
+ this.汇总报表ToolStripMenuItem.Text = "班级汇总报表";
+ //
+ // 班级预订汇总ToolStripMenuItem
+ //
+ this.班级预订汇总ToolStripMenuItem.Name = "班级预订汇总ToolStripMenuItem";
+ this.班级预订汇总ToolStripMenuItem.Size = new System.Drawing.Size(124, 22);
+ this.班级预订汇总ToolStripMenuItem.Text = "输出报表";
+ this.班级预订汇总ToolStripMenuItem.Click += new System.EventHandler(this.班级预订汇总ToolStripMenuItem_Click);
+ //
+ // 设置ToolStripMenuItem
+ //
+ this.设置ToolStripMenuItem.DropDownItems.AddRange(new System.Windows.Forms.ToolStripItem[] {
+ this.修改密码ToolStripMenuItem,
+ this.退出登录ToolStripMenuItem});
+ this.设置ToolStripMenuItem.Name = "设置ToolStripMenuItem";
+ this.设置ToolStripMenuItem.Size = new System.Drawing.Size(44, 21);
+ this.设置ToolStripMenuItem.Text = "设置";
+ //
+ // 修改密码ToolStripMenuItem
+ //
+ this.修改密码ToolStripMenuItem.Name = "修改密码ToolStripMenuItem";
+ this.修改密码ToolStripMenuItem.Size = new System.Drawing.Size(152, 22);
+ this.修改密码ToolStripMenuItem.Text = "修改密码";
+ this.修改密码ToolStripMenuItem.Click += new System.EventHandler(this.修改密码ToolStripMenuItem_Click);
+ //
+ // 退出登录ToolStripMenuItem
+ //
+ this.退出登录ToolStripMenuItem.Name = "退出登录ToolStripMenuItem";
+ this.退出登录ToolStripMenuItem.Size = new System.Drawing.Size(152, 22);
+ this.退出登录ToolStripMenuItem.Text = "退出登录";
+ this.退出登录ToolStripMenuItem.Click += new System.EventHandler(this.退出登录ToolStripMenuItem_Click);
+ //
+ // panelMain
+ //
+ this.panelMain.Anchor = ((System.Windows.Forms.AnchorStyles)((((System.Windows.Forms.AnchorStyles.Top | System.Windows.Forms.AnchorStyles.Bottom)
+ | System.Windows.Forms.AnchorStyles.Left)
+ | System.Windows.Forms.AnchorStyles.Right)));
+ this.panelMain.BackColor = System.Drawing.Color.White;
+ this.panelMain.Location = new System.Drawing.Point(0, 28);
+ this.panelMain.Name = "panelMain";
+ this.panelMain.Size = new System.Drawing.Size(884, 534);
+ this.panelMain.TabIndex = 1;
+ //
+ // FormManageSystem
+ //
+ this.AutoScaleDimensions = new System.Drawing.SizeF(96F, 96F);
+ this.AutoScaleMode = System.Windows.Forms.AutoScaleMode.Dpi;
+ this.ClientSize = new System.Drawing.Size(884, 561);
+ this.Controls.Add(this.panelMain);
+ this.Controls.Add(this.menuStrip1);
+ this.Font = new System.Drawing.Font("微软雅黑", 9F);
+ this.MainMenuStrip = this.menuStrip1;
+ this.MinimumSize = new System.Drawing.Size(900, 600);
+ this.Name = "FormManageSystem";
+ this.StartPosition = System.Windows.Forms.FormStartPosition.CenterScreen;
+ this.Text = "培优礼堂票务管理系统 - 管理模式";
+ this.menuStrip1.ResumeLayout(false);
+ this.menuStrip1.PerformLayout();
+ this.ResumeLayout(false);
+ this.PerformLayout();
+
+ }
+
+ #endregion
+
+ private System.Windows.Forms.MenuStrip menuStrip1;
+ private System.Windows.Forms.ToolStripMenuItem 信息查询ToolStripMenuItem;
+ private System.Windows.Forms.ToolStripMenuItem 票务信息查询ToolStripMenuItem;
+ private System.Windows.Forms.ToolStripMenuItem 票务数量信息查询ToolStripMenuItem;
+ private System.Windows.Forms.ToolStripMenuItem 预订信息查询ToolStripMenuItem;
+ private System.Windows.Forms.ToolStripMenuItem 信息统计ToolStripMenuItem;
+ private System.Windows.Forms.ToolStripMenuItem 票务信息统计ToolStripMenuItem;
+ private System.Windows.Forms.ToolStripMenuItem 预订信息统计ToolStripMenuItem;
+ private System.Windows.Forms.ToolStripMenuItem 图形展示ToolStripMenuItem;
+ private System.Windows.Forms.ToolStripMenuItem 汇总报表ToolStripMenuItem;
+ private System.Windows.Forms.ToolStripMenuItem 班级预订汇总ToolStripMenuItem;
+ private System.Windows.Forms.ToolStripMenuItem 票务信息ToolStripMenuItem;
+ private System.Windows.Forms.ToolStripMenuItem 新建ToolStripMenuItem;
+ private System.Windows.Forms.ToolStripMenuItem 设置ToolStripMenuItem;
+ private System.Windows.Forms.ToolStripMenuItem 修改密码ToolStripMenuItem;
+ private System.Windows.Forms.Panel panelMain;
+ private System.Windows.Forms.ToolStripMenuItem 退出登录ToolStripMenuItem;
+ }
+}
\ No newline at end of file
diff --git a/AuditoriumMS/FormManageSystem.cs b/AuditoriumMS/FormManageSystem.cs
new file mode 100644
index 0000000..7cef29a
--- /dev/null
+++ b/AuditoriumMS/FormManageSystem.cs
@@ -0,0 +1,79 @@
+using System;
+using System.Collections.Generic;
+using System.ComponentModel;
+using System.Data;
+using System.Drawing;
+using System.Linq;
+using System.Text;
+using System.Windows.Forms;
+
+namespace AuditoriumMS
+{
+ public partial class FormManageSystem : Form
+ {
+ public FormManageSystem()
+ {
+ InitializeComponent();
+ this.panelMain.Controls.Add(new UserControls.UCNewAuditorium { Dock = DockStyle.Fill });
+ }
+
+ private void 新建ToolStripMenuItem_Click(object sender, EventArgs e)
+ {
+ this.panelMain.Controls.Clear();
+ this.panelMain.Controls.Add(new UserControls.UCNewAuditorium { Dock = DockStyle.Fill });
+ }
+
+ private void 票务信息查询ToolStripMenuItem_Click(object sender, EventArgs e)
+ {
+ this.panelMain.Controls.Clear();
+ this.panelMain.Controls.Add(new UserControls.UCTicketSelect { Dock = DockStyle.Fill });
+ }
+
+ private void 票务数量信息查询ToolStripMenuItem_Click(object sender, EventArgs e)
+ {
+ this.panelMain.Controls.Clear();
+ this.panelMain.Controls.Add(new UserControls.UCTicketCountSelect { Dock = DockStyle.Fill });
+ }
+
+ private void 预订信息查询ToolStripMenuItem_Click(object sender, EventArgs e)
+ {
+ this.panelMain.Controls.Clear();
+ this.panelMain.Controls.Add(new UserControls.UCReservationInfoSelect { Dock = DockStyle.Fill });
+ }
+
+ private void 票务信息统计ToolStripMenuItem_Click(object sender, EventArgs e)
+ {
+ this.panelMain.Controls.Clear();
+ this.panelMain.Controls.Add(new UserControls.UCTicketStatistics { Dock = DockStyle.Fill });
+ }
+
+ private void 预订信息统计ToolStripMenuItem_Click(object sender, EventArgs e)
+ {
+ this.panelMain.Controls.Clear();
+ this.panelMain.Controls.Add(new UserControls.UCTicketCountStatistics { Dock = DockStyle.Fill });
+ }
+
+ private void 图形展示ToolStripMenuItem_Click(object sender, EventArgs e)
+ {
+ this.panelMain.Controls.Clear();
+ this.panelMain.Controls.Add(new UserControls.UCShowChart { Dock = DockStyle.Fill });
+ }
+
+ private void 班级预订汇总ToolStripMenuItem_Click(object sender, EventArgs e)
+ {
+ this.panelMain.Controls.Clear();
+ this.panelMain.Controls.Add(new UserControls.UCSummaryReport { Dock = DockStyle.Fill });
+ }
+
+ private void 修改密码ToolStripMenuItem_Click(object sender, EventArgs e)
+ {
+ this.panelMain.Controls.Clear();
+ this.panelMain.Controls.Add(new UserControls.UCModifyPassword { Dock = DockStyle.Fill });
+ }
+
+ private void 退出登录ToolStripMenuItem_Click(object sender, EventArgs e)
+ {
+ this.Close();
+ }
+ }
+}
diff --git a/AuditoriumMS/FormManageSystem.resx b/AuditoriumMS/FormManageSystem.resx
new file mode 100644
index 0000000..48af572
--- /dev/null
+++ b/AuditoriumMS/FormManageSystem.resx
@@ -0,0 +1,126 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ text/microsoft-resx
+
+
+ 2.0
+
+
+ System.Resources.ResXResourceReader, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089
+
+
+ System.Resources.ResXResourceWriter, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089
+
+
+ 17, 17
+
+
+ 25
+
+
\ No newline at end of file
diff --git a/AuditoriumMS/Forms/FormAdminLogin.Designer.cs b/AuditoriumMS/Forms/FormAdminLogin.Designer.cs
new file mode 100644
index 0000000..a3c5f01
--- /dev/null
+++ b/AuditoriumMS/Forms/FormAdminLogin.Designer.cs
@@ -0,0 +1,112 @@
+namespace AuditoriumMS.Forms
+{
+ partial class FormAdminLogin
+ {
+ ///
+ /// Required designer variable.
+ ///
+ private System.ComponentModel.IContainer components = null;
+
+ ///
+ /// Clean up any resources being used.
+ ///
+ /// true if managed resources should be disposed; otherwise, false.
+ protected override void Dispose(bool disposing)
+ {
+ if (disposing && (components != null))
+ {
+ components.Dispose();
+ }
+ base.Dispose(disposing);
+ }
+
+ #region Windows Form Designer generated code
+
+ ///
+ /// Required method for Designer support - do not modify
+ /// the contents of this method with the code editor.
+ ///
+ private void InitializeComponent()
+ {
+ this.btnEnter = new System.Windows.Forms.Button();
+ this.label2 = new System.Windows.Forms.Label();
+ this.label1 = new System.Windows.Forms.Label();
+ this.txtAdminPassword = new System.Windows.Forms.TextBox();
+ this.SuspendLayout();
+ //
+ // btnEnter
+ //
+ this.btnEnter.Anchor = ((System.Windows.Forms.AnchorStyles)(((System.Windows.Forms.AnchorStyles.Top | System.Windows.Forms.AnchorStyles.Left)
+ | System.Windows.Forms.AnchorStyles.Right)));
+ this.btnEnter.Location = new System.Drawing.Point(130, 212);
+ this.btnEnter.Margin = new System.Windows.Forms.Padding(3, 4, 3, 4);
+ this.btnEnter.Name = "btnEnter";
+ this.btnEnter.Size = new System.Drawing.Size(214, 44);
+ this.btnEnter.TabIndex = 7;
+ this.btnEnter.Text = "进入管理模式";
+ this.btnEnter.UseVisualStyleBackColor = true;
+ this.btnEnter.Click += new System.EventHandler(this.btnEnter_Click);
+ //
+ // label2
+ //
+ this.label2.AutoSize = true;
+ this.label2.Location = new System.Drawing.Point(90, 126);
+ this.label2.Name = "label2";
+ this.label2.Size = new System.Drawing.Size(80, 17);
+ this.label2.TabIndex = 6;
+ this.label2.Text = "管理员密码:";
+ //
+ // label1
+ //
+ this.label1.Anchor = ((System.Windows.Forms.AnchorStyles)(((System.Windows.Forms.AnchorStyles.Top | System.Windows.Forms.AnchorStyles.Left)
+ | System.Windows.Forms.AnchorStyles.Right)));
+ this.label1.AutoSize = true;
+ this.label1.Font = new System.Drawing.Font("微软雅黑", 15F, System.Drawing.FontStyle.Bold, System.Drawing.GraphicsUnit.Point, ((byte)(134)));
+ this.label1.ForeColor = System.Drawing.Color.FromArgb(((int)(((byte)(64)))), ((int)(((byte)(64)))), ((int)(((byte)(64)))));
+ this.label1.Location = new System.Drawing.Point(30, 44);
+ this.label1.Name = "label1";
+ this.label1.Size = new System.Drawing.Size(412, 27);
+ this.label1.TabIndex = 5;
+ this.label1.Text = "欢迎进入培优礼堂票务信息管理系统管理模式";
+ //
+ // txtAdminPassword
+ //
+ this.txtAdminPassword.Anchor = ((System.Windows.Forms.AnchorStyles)(((System.Windows.Forms.AnchorStyles.Top | System.Windows.Forms.AnchorStyles.Left)
+ | System.Windows.Forms.AnchorStyles.Right)));
+ this.txtAdminPassword.Location = new System.Drawing.Point(176, 123);
+ this.txtAdminPassword.Margin = new System.Windows.Forms.Padding(3, 6, 3, 6);
+ this.txtAdminPassword.Name = "txtAdminPassword";
+ this.txtAdminPassword.PasswordChar = '*';
+ this.txtAdminPassword.Size = new System.Drawing.Size(206, 23);
+ this.txtAdminPassword.TabIndex = 4;
+ //
+ // FormAdminLogin
+ //
+ this.AcceptButton = this.btnEnter;
+ this.AutoScaleDimensions = new System.Drawing.SizeF(7F, 17F);
+ this.AutoScaleMode = System.Windows.Forms.AutoScaleMode.Font;
+ this.ClientSize = new System.Drawing.Size(472, 299);
+ this.Controls.Add(this.btnEnter);
+ this.Controls.Add(this.label2);
+ this.Controls.Add(this.label1);
+ this.Controls.Add(this.txtAdminPassword);
+ this.Font = new System.Drawing.Font("微软雅黑", 9F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(134)));
+ this.Margin = new System.Windows.Forms.Padding(3, 4, 3, 4);
+ this.MaximizeBox = false;
+ this.MinimizeBox = false;
+ this.Name = "FormAdminLogin";
+ this.StartPosition = System.Windows.Forms.FormStartPosition.CenterScreen;
+ this.Text = "管理员登录";
+ this.ResumeLayout(false);
+ this.PerformLayout();
+
+ }
+
+ #endregion
+
+ private System.Windows.Forms.Button btnEnter;
+ private System.Windows.Forms.Label label2;
+ private System.Windows.Forms.Label label1;
+ private System.Windows.Forms.TextBox txtAdminPassword;
+ }
+}
\ No newline at end of file
diff --git a/AuditoriumMS/Forms/FormAdminLogin.cs b/AuditoriumMS/Forms/FormAdminLogin.cs
new file mode 100644
index 0000000..94008c7
--- /dev/null
+++ b/AuditoriumMS/Forms/FormAdminLogin.cs
@@ -0,0 +1,45 @@
+using System;
+using System.Collections.Generic;
+using System.ComponentModel;
+using System.Data;
+using System.Drawing;
+using System.Linq;
+using System.Text;
+using System.Windows.Forms;
+
+namespace AuditoriumMS.Forms
+{
+ public partial class FormAdminLogin : Form
+ {
+ public FormAdminLogin()
+ {
+ InitializeComponent();
+ }
+
+ private void btnEnter_Click(object sender, EventArgs e)
+ {
+ string password = txtAdminPassword.Text;
+ if (string.IsNullOrEmpty(password))
+ {
+ MessageBox.Show("请输入管理员密码!", "错误", MessageBoxButtons.OK, MessageBoxIcon.Error);
+ return;
+ }
+ try
+ {
+ DataTable dt = Access.obj.GetDataTable("SELECT * FROM 管理员密码");
+ string adminPassword = dt.Rows[0][0].ToString();
+ if (password == adminPassword)
+ this.DialogResult = DialogResult.OK;
+ else
+ MessageBox.Show("密码错误!", "错误", MessageBoxButtons.OK, MessageBoxIcon.Error);
+ }
+ catch (Exception ex)
+ {
+ MessageBox.Show(ex.Message, "错误", MessageBoxButtons.OK, MessageBoxIcon.Error);
+ return;
+ }
+
+
+ }
+ }
+}
diff --git a/AuditoriumMS/Forms/FormAdminLogin.resx b/AuditoriumMS/Forms/FormAdminLogin.resx
new file mode 100644
index 0000000..29dcb1b
--- /dev/null
+++ b/AuditoriumMS/Forms/FormAdminLogin.resx
@@ -0,0 +1,120 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ text/microsoft-resx
+
+
+ 2.0
+
+
+ System.Resources.ResXResourceReader, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089
+
+
+ System.Resources.ResXResourceWriter, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089
+
+
\ No newline at end of file
diff --git a/AuditoriumMS/Forms/FormVerify.Designer.cs b/AuditoriumMS/Forms/FormVerify.Designer.cs
new file mode 100644
index 0000000..1962720
--- /dev/null
+++ b/AuditoriumMS/Forms/FormVerify.Designer.cs
@@ -0,0 +1,113 @@
+namespace AuditoriumMS.Forms
+{
+ partial class FormVerift
+ {
+ ///
+ /// Required designer variable.
+ ///
+ private System.ComponentModel.IContainer components = null;
+
+ ///
+ /// Clean up any resources being used.
+ ///
+ /// true if managed resources should be disposed; otherwise, false.
+ protected override void Dispose(bool disposing)
+ {
+ if (disposing && (components != null))
+ {
+ components.Dispose();
+ }
+ base.Dispose(disposing);
+ }
+
+ #region Windows Form Designer generated code
+
+ ///
+ /// Required method for Designer support - do not modify
+ /// the contents of this method with the code editor.
+ ///
+ private void InitializeComponent()
+ {
+ this.txtNumber = new System.Windows.Forms.TextBox();
+ this.txtName = new System.Windows.Forms.TextBox();
+ this.label1 = new System.Windows.Forms.Label();
+ this.label2 = new System.Windows.Forms.Label();
+ this.btnAccept = new System.Windows.Forms.Button();
+ this.SuspendLayout();
+ //
+ // txtNumber
+ //
+ this.txtNumber.Location = new System.Drawing.Point(114, 72);
+ this.txtNumber.Margin = new System.Windows.Forms.Padding(3, 4, 3, 4);
+ this.txtNumber.Name = "txtNumber";
+ this.txtNumber.Size = new System.Drawing.Size(152, 23);
+ this.txtNumber.TabIndex = 0;
+ //
+ // txtName
+ //
+ this.txtName.Location = new System.Drawing.Point(114, 115);
+ this.txtName.Margin = new System.Windows.Forms.Padding(3, 4, 3, 4);
+ this.txtName.Name = "txtName";
+ this.txtName.Size = new System.Drawing.Size(152, 23);
+ this.txtName.TabIndex = 1;
+ //
+ // label1
+ //
+ this.label1.AutoSize = true;
+ this.label1.Location = new System.Drawing.Point(59, 76);
+ this.label1.Name = "label1";
+ this.label1.Size = new System.Drawing.Size(44, 17);
+ this.label1.TabIndex = 2;
+ this.label1.Text = "学号:";
+ //
+ // label2
+ //
+ this.label2.AutoSize = true;
+ this.label2.Location = new System.Drawing.Point(59, 119);
+ this.label2.Name = "label2";
+ this.label2.Size = new System.Drawing.Size(44, 17);
+ this.label2.TabIndex = 2;
+ this.label2.Text = "姓名:";
+ //
+ // btnAccept
+ //
+ this.btnAccept.Location = new System.Drawing.Point(219, 189);
+ this.btnAccept.Name = "btnAccept";
+ this.btnAccept.Size = new System.Drawing.Size(102, 34);
+ this.btnAccept.TabIndex = 3;
+ this.btnAccept.Text = "确认";
+ this.btnAccept.UseVisualStyleBackColor = true;
+ this.btnAccept.Click += new System.EventHandler(this.btnAccept_Click);
+ //
+ // FormVerift
+ //
+ this.AcceptButton = this.btnAccept;
+ this.AutoScaleDimensions = new System.Drawing.SizeF(7F, 17F);
+ this.AutoScaleMode = System.Windows.Forms.AutoScaleMode.Font;
+ this.ClientSize = new System.Drawing.Size(333, 235);
+ this.Controls.Add(this.btnAccept);
+ this.Controls.Add(this.label2);
+ this.Controls.Add(this.label1);
+ this.Controls.Add(this.txtName);
+ this.Controls.Add(this.txtNumber);
+ this.Font = new System.Drawing.Font("微软雅黑", 9F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(134)));
+ this.Margin = new System.Windows.Forms.Padding(3, 4, 3, 4);
+ this.MaximizeBox = false;
+ this.MinimizeBox = false;
+ this.Name = "FormVerift";
+ this.StartPosition = System.Windows.Forms.FormStartPosition.CenterScreen;
+ this.Text = "学生身份验证";
+ this.ResumeLayout(false);
+ this.PerformLayout();
+
+ }
+
+ #endregion
+
+ private System.Windows.Forms.TextBox txtNumber;
+ private System.Windows.Forms.TextBox txtName;
+ private System.Windows.Forms.Label label1;
+ private System.Windows.Forms.Label label2;
+ private System.Windows.Forms.Button btnAccept;
+ }
+}
\ No newline at end of file
diff --git a/AuditoriumMS/Forms/FormVerify.cs b/AuditoriumMS/Forms/FormVerify.cs
new file mode 100644
index 0000000..4e57d7c
--- /dev/null
+++ b/AuditoriumMS/Forms/FormVerify.cs
@@ -0,0 +1,61 @@
+using System;
+using System.Collections.Generic;
+using System.ComponentModel;
+using System.Data;
+using System.Drawing;
+using System.Linq;
+using System.Text;
+using System.Windows.Forms;
+
+namespace AuditoriumMS.Forms
+{
+ public partial class FormVerift : Form
+ {
+ public FormVerift()
+ {
+ InitializeComponent();
+ }
+
+ private void btnAccept_Click(object sender, EventArgs e)
+ {
+ if (string.IsNullOrEmpty(this.txtNumber.Text))
+ {
+ MessageBox.Show("请输入学号!", "错误", MessageBoxButtons.OK, MessageBoxIcon.Error);
+ return;
+ }
+ if (string.IsNullOrEmpty(this.txtName.Text))
+ {
+ MessageBox.Show("请输入姓名!", "错误", MessageBoxButtons.OK, MessageBoxIcon.Error);
+ return;
+ }
+
+ // SQL防注入
+ if (Access.IsHasSQLInject(this.txtNumber.Text)
+ || Access.IsHasSQLInject(this.txtName.Text))
+ {
+ MessageBox.Show("格式错误!", "错误", MessageBoxButtons.OK, MessageBoxIcon.Error);
+ return;
+ }
+
+ string sql = string.Format("SELECT 1 FROM [学生表] WHERE [学号]={0} AND [姓名]='{1}'",
+ this.txtNumber.Text, this.txtName.Text);
+ try
+ {
+ DataTable dt = Access.obj.GetDataTable(sql);
+ if (dt == null || dt.Rows.Count < 1)
+ {
+ MessageBox.Show("无该学生!请输入正确的信息", "错误", MessageBoxButtons.OK, MessageBoxIcon.Error);
+ return;
+ }
+
+ // 用来返回购票学生学号
+ this.Tag = this.txtNumber.Text;
+ this.DialogResult = DialogResult.OK;
+ }
+ catch (Exception ex)
+ {
+ MessageBox.Show(ex.Message, "错误", MessageBoxButtons.OK, MessageBoxIcon.Error);
+ }
+ }
+ }
+}
diff --git a/AuditoriumMS/Forms/FormVerify.resx b/AuditoriumMS/Forms/FormVerify.resx
new file mode 100644
index 0000000..29dcb1b
--- /dev/null
+++ b/AuditoriumMS/Forms/FormVerify.resx
@@ -0,0 +1,120 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ text/microsoft-resx
+
+
+ 2.0
+
+
+ System.Resources.ResXResourceReader, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089
+
+
+ System.Resources.ResXResourceWriter, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089
+
+
\ No newline at end of file
diff --git a/AuditoriumMS/Program.cs b/AuditoriumMS/Program.cs
new file mode 100644
index 0000000..aec1730
--- /dev/null
+++ b/AuditoriumMS/Program.cs
@@ -0,0 +1,24 @@
+using System;
+using System.Collections.Generic;
+using System.Linq;
+using System.Windows.Forms;
+
+namespace AuditoriumMS
+{
+ static class Program
+ {
+ public const int AuditoriumSeatColumnsCount = 10;
+ public const int AuditoriumSeatRowsCount = 10;
+
+ ///
+ /// 应用程序的主入口点。
+ ///
+ [STAThread]
+ static void Main()
+ {
+ Application.EnableVisualStyles();
+ Application.SetCompatibleTextRenderingDefault(false);
+ Application.Run(new FormMain());
+ }
+ }
+}
diff --git a/AuditoriumMS/Properties/AssemblyInfo.cs b/AuditoriumMS/Properties/AssemblyInfo.cs
new file mode 100644
index 0000000..86b499f
--- /dev/null
+++ b/AuditoriumMS/Properties/AssemblyInfo.cs
@@ -0,0 +1,36 @@
+using System.Reflection;
+using System.Runtime.CompilerServices;
+using System.Runtime.InteropServices;
+
+// 有关程序集的一般信息由以下
+// 控制。更改这些特性值可修改
+// 与程序集关联的信息。
+[assembly: AssemblyTitle("AuditoriumMS")]
+[assembly: AssemblyDescription("")]
+[assembly: AssemblyConfiguration("")]
+[assembly: AssemblyCompany("")]
+[assembly: AssemblyProduct("AuditoriumMS")]
+[assembly: AssemblyCopyright("Copyright © 2018")]
+[assembly: AssemblyTrademark("")]
+[assembly: AssemblyCulture("")]
+
+// 将 ComVisible 设置为 false 会使此程序集中的类型
+//对 COM 组件不可见。如果需要从 COM 访问此程序集中的类型
+//请将此类型的 ComVisible 特性设置为 true。
+[assembly: ComVisible(false)]
+
+// 如果此项目向 COM 公开,则下列 GUID 用于类型库的 ID
+[assembly: Guid("131a3e33-bcf0-4e9c-bf60-5f97ddb4fa75")]
+
+// 程序集的版本信息由下列四个值组成:
+//
+// 主版本
+// 次版本
+// 生成号
+// 修订号
+//
+// 可以指定所有值,也可以使用以下所示的 "*" 预置版本号和修订号
+// 方法是按如下所示使用“*”: :
+// [assembly: AssemblyVersion("1.0.*")]
+[assembly: AssemblyVersion("1.0.0.0")]
+[assembly: AssemblyFileVersion("1.0.0.0")]
diff --git a/AuditoriumMS/Properties/Resources.Designer.cs b/AuditoriumMS/Properties/Resources.Designer.cs
new file mode 100644
index 0000000..11dd423
--- /dev/null
+++ b/AuditoriumMS/Properties/Resources.Designer.cs
@@ -0,0 +1,71 @@
+//------------------------------------------------------------------------------
+//
+// 此代码由工具生成。
+// 运行时版本: 4.0.30319.42000
+//
+// 对此文件的更改可能导致不正确的行为,如果
+// 重新生成代码,则所做更改将丢失。
+//
+//------------------------------------------------------------------------------
+
+namespace AuditoriumMS.Properties
+{
+
+
+ ///
+ /// 强类型资源类,用于查找本地化字符串等。
+ ///
+ // 此类是由 StronglyTypedResourceBuilder
+ // 类通过类似于 ResGen 或 Visual Studio 的工具自动生成的。
+ // 若要添加或删除成员,请编辑 .ResX 文件,然后重新运行 ResGen
+ // (以 /str 作为命令选项),或重新生成 VS 项目。
+ [global::System.CodeDom.Compiler.GeneratedCodeAttribute("System.Resources.Tools.StronglyTypedResourceBuilder", "4.0.0.0")]
+ [global::System.Diagnostics.DebuggerNonUserCodeAttribute()]
+ [global::System.Runtime.CompilerServices.CompilerGeneratedAttribute()]
+ internal class Resources
+ {
+
+ private static global::System.Resources.ResourceManager resourceMan;
+
+ private static global::System.Globalization.CultureInfo resourceCulture;
+
+ [global::System.Diagnostics.CodeAnalysis.SuppressMessageAttribute("Microsoft.Performance", "CA1811:AvoidUncalledPrivateCode")]
+ internal Resources()
+ {
+ }
+
+ ///
+ /// 返回此类使用的缓存 ResourceManager 实例。
+ ///
+ [global::System.ComponentModel.EditorBrowsableAttribute(global::System.ComponentModel.EditorBrowsableState.Advanced)]
+ internal static global::System.Resources.ResourceManager ResourceManager
+ {
+ get
+ {
+ if ((resourceMan == null))
+ {
+ global::System.Resources.ResourceManager temp = new global::System.Resources.ResourceManager("AuditoriumMS.Properties.Resources", typeof(Resources).Assembly);
+ resourceMan = temp;
+ }
+ return resourceMan;
+ }
+ }
+
+ ///
+ /// 覆盖当前线程的 CurrentUICulture 属性
+ /// 使用此强类型的资源类的资源查找。
+ ///
+ [global::System.ComponentModel.EditorBrowsableAttribute(global::System.ComponentModel.EditorBrowsableState.Advanced)]
+ internal static global::System.Globalization.CultureInfo Culture
+ {
+ get
+ {
+ return resourceCulture;
+ }
+ set
+ {
+ resourceCulture = value;
+ }
+ }
+ }
+}
diff --git a/AuditoriumMS/Properties/Resources.resx b/AuditoriumMS/Properties/Resources.resx
new file mode 100644
index 0000000..ffecec8
--- /dev/null
+++ b/AuditoriumMS/Properties/Resources.resx
@@ -0,0 +1,117 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ text/microsoft-resx
+
+
+ 2.0
+
+
+ System.Resources.ResXResourceReader, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089
+
+
+ System.Resources.ResXResourceWriter, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089
+
+
\ No newline at end of file
diff --git a/AuditoriumMS/Properties/Settings.Designer.cs b/AuditoriumMS/Properties/Settings.Designer.cs
new file mode 100644
index 0000000..759f47b
--- /dev/null
+++ b/AuditoriumMS/Properties/Settings.Designer.cs
@@ -0,0 +1,30 @@
+//------------------------------------------------------------------------------
+//
+// This code was generated by a tool.
+// Runtime Version:4.0.30319.42000
+//
+// Changes to this file may cause incorrect behavior and will be lost if
+// the code is regenerated.
+//
+//------------------------------------------------------------------------------
+
+namespace AuditoriumMS.Properties
+{
+
+
+ [global::System.Runtime.CompilerServices.CompilerGeneratedAttribute()]
+ [global::System.CodeDom.Compiler.GeneratedCodeAttribute("Microsoft.VisualStudio.Editors.SettingsDesigner.SettingsSingleFileGenerator", "11.0.0.0")]
+ internal sealed partial class Settings : global::System.Configuration.ApplicationSettingsBase
+ {
+
+ private static Settings defaultInstance = ((Settings)(global::System.Configuration.ApplicationSettingsBase.Synchronized(new Settings())));
+
+ public static Settings Default
+ {
+ get
+ {
+ return defaultInstance;
+ }
+ }
+ }
+}
diff --git a/AuditoriumMS/Properties/Settings.settings b/AuditoriumMS/Properties/Settings.settings
new file mode 100644
index 0000000..abf36c5
--- /dev/null
+++ b/AuditoriumMS/Properties/Settings.settings
@@ -0,0 +1,7 @@
+
+
+
+
+
+
+
diff --git a/AuditoriumMS/UserControls/UCBooking.Designer.cs b/AuditoriumMS/UserControls/UCBooking.Designer.cs
new file mode 100644
index 0000000..832c55d
--- /dev/null
+++ b/AuditoriumMS/UserControls/UCBooking.Designer.cs
@@ -0,0 +1,261 @@
+namespace AuditoriumMS.UserControls
+{
+ partial class UCBooking
+ {
+ ///
+ /// 必需的设计器变量。
+ ///
+ private System.ComponentModel.IContainer components = null;
+
+ ///
+ /// 清理所有正在使用的资源。
+ ///
+ /// 如果应释放托管资源,为 true;否则为 false。
+ protected override void Dispose(bool disposing)
+ {
+ if (disposing && (components != null))
+ {
+ components.Dispose();
+ }
+ base.Dispose(disposing);
+ }
+
+ #region 组件设计器生成的代码
+
+ ///
+ /// 设计器支持所需的方法 - 不要修改
+ /// 使用代码编辑器修改此方法的内容。
+ ///
+ private void InitializeComponent()
+ {
+ this.ucSeatMap1 = new AuditoriumMS.UserControls.UCSeatMap();
+ this.groupBox1 = new System.Windows.Forms.GroupBox();
+ this.lblTitle = new System.Windows.Forms.Label();
+ this.label2 = new System.Windows.Forms.Label();
+ this.lblDate = new System.Windows.Forms.Label();
+ this.label4 = new System.Windows.Forms.Label();
+ this.lblPrice = new System.Windows.Forms.Label();
+ this.label6 = new System.Windows.Forms.Label();
+ this.lblTime = new System.Windows.Forms.Label();
+ this.label8 = new System.Windows.Forms.Label();
+ this.lblTotal = new System.Windows.Forms.Label();
+ this.label10 = new System.Windows.Forms.Label();
+ this.lblRemaining = new System.Windows.Forms.Label();
+ this.lblPrompt = new System.Windows.Forms.Label();
+ this.btnBooking = new System.Windows.Forms.Button();
+ this.groupBox2 = new System.Windows.Forms.GroupBox();
+ this.groupBox1.SuspendLayout();
+ this.groupBox2.SuspendLayout();
+ this.SuspendLayout();
+ //
+ // ucSeatMap1
+ //
+ this.ucSeatMap1.Dock = System.Windows.Forms.DockStyle.Fill;
+ this.ucSeatMap1.Location = new System.Drawing.Point(3, 19);
+ this.ucSeatMap1.Margin = new System.Windows.Forms.Padding(3, 4, 3, 4);
+ this.ucSeatMap1.MinimumSize = new System.Drawing.Size(200, 100);
+ this.ucSeatMap1.Name = "ucSeatMap1";
+ this.ucSeatMap1.Size = new System.Drawing.Size(641, 213);
+ this.ucSeatMap1.TabIndex = 0;
+ //
+ // groupBox1
+ //
+ this.groupBox1.Anchor = ((System.Windows.Forms.AnchorStyles)((((System.Windows.Forms.AnchorStyles.Top | System.Windows.Forms.AnchorStyles.Bottom)
+ | System.Windows.Forms.AnchorStyles.Left)
+ | System.Windows.Forms.AnchorStyles.Right)));
+ this.groupBox1.Controls.Add(this.ucSeatMap1);
+ this.groupBox1.Location = new System.Drawing.Point(3, 256);
+ this.groupBox1.Name = "groupBox1";
+ this.groupBox1.Size = new System.Drawing.Size(647, 235);
+ this.groupBox1.TabIndex = 1;
+ this.groupBox1.TabStop = false;
+ this.groupBox1.Text = "座位分布图";
+ //
+ // lblTitle
+ //
+ this.lblTitle.AutoSize = true;
+ this.lblTitle.Font = new System.Drawing.Font("微软雅黑", 18F, System.Drawing.FontStyle.Bold, System.Drawing.GraphicsUnit.Point, ((byte)(134)));
+ this.lblTitle.Location = new System.Drawing.Point(46, 28);
+ this.lblTitle.Name = "lblTitle";
+ this.lblTitle.Size = new System.Drawing.Size(110, 31);
+ this.lblTitle.TabIndex = 2;
+ this.lblTitle.Text = "名家礼堂";
+ //
+ // label2
+ //
+ this.label2.AutoSize = true;
+ this.label2.Font = new System.Drawing.Font("微软雅黑", 12F);
+ this.label2.Location = new System.Drawing.Point(48, 82);
+ this.label2.Name = "label2";
+ this.label2.Size = new System.Drawing.Size(58, 21);
+ this.label2.TabIndex = 3;
+ this.label2.Text = "日期:";
+ //
+ // lblDate
+ //
+ this.lblDate.AutoSize = true;
+ this.lblDate.Font = new System.Drawing.Font("微软雅黑", 12F);
+ this.lblDate.Location = new System.Drawing.Point(112, 82);
+ this.lblDate.Name = "lblDate";
+ this.lblDate.Size = new System.Drawing.Size(0, 21);
+ this.lblDate.TabIndex = 4;
+ //
+ // label4
+ //
+ this.label4.AutoSize = true;
+ this.label4.Font = new System.Drawing.Font("微软雅黑", 12F);
+ this.label4.Location = new System.Drawing.Point(48, 144);
+ this.label4.Name = "label4";
+ this.label4.Size = new System.Drawing.Size(58, 21);
+ this.label4.TabIndex = 5;
+ this.label4.Text = "票价:";
+ //
+ // lblPrice
+ //
+ this.lblPrice.AutoSize = true;
+ this.lblPrice.Font = new System.Drawing.Font("微软雅黑", 12F);
+ this.lblPrice.Location = new System.Drawing.Point(112, 144);
+ this.lblPrice.Name = "lblPrice";
+ this.lblPrice.Size = new System.Drawing.Size(0, 21);
+ this.lblPrice.TabIndex = 6;
+ //
+ // label6
+ //
+ this.label6.AutoSize = true;
+ this.label6.Font = new System.Drawing.Font("微软雅黑", 12F);
+ this.label6.Location = new System.Drawing.Point(48, 113);
+ this.label6.Name = "label6";
+ this.label6.Size = new System.Drawing.Size(58, 21);
+ this.label6.TabIndex = 3;
+ this.label6.Text = "时间:";
+ //
+ // lblTime
+ //
+ this.lblTime.AutoSize = true;
+ this.lblTime.Font = new System.Drawing.Font("微软雅黑", 12F);
+ this.lblTime.Location = new System.Drawing.Point(112, 113);
+ this.lblTime.Name = "lblTime";
+ this.lblTime.Size = new System.Drawing.Size(0, 21);
+ this.lblTime.TabIndex = 4;
+ //
+ // label8
+ //
+ this.label8.AutoSize = true;
+ this.label8.Font = new System.Drawing.Font("微软雅黑", 12F);
+ this.label8.Location = new System.Drawing.Point(32, 175);
+ this.label8.Name = "label8";
+ this.label8.Size = new System.Drawing.Size(74, 21);
+ this.label8.TabIndex = 5;
+ this.label8.Text = "总票数:";
+ //
+ // lblTotal
+ //
+ this.lblTotal.AutoSize = true;
+ this.lblTotal.Font = new System.Drawing.Font("微软雅黑", 12F);
+ this.lblTotal.Location = new System.Drawing.Point(112, 175);
+ this.lblTotal.Name = "lblTotal";
+ this.lblTotal.Size = new System.Drawing.Size(0, 21);
+ this.lblTotal.TabIndex = 6;
+ //
+ // label10
+ //
+ this.label10.AutoSize = true;
+ this.label10.Font = new System.Drawing.Font("微软雅黑", 12F);
+ this.label10.Location = new System.Drawing.Point(16, 206);
+ this.label10.Name = "label10";
+ this.label10.Size = new System.Drawing.Size(90, 21);
+ this.label10.TabIndex = 5;
+ this.label10.Text = "剩余票数:";
+ //
+ // lblRemaining
+ //
+ this.lblRemaining.AutoSize = true;
+ this.lblRemaining.Font = new System.Drawing.Font("微软雅黑", 12F);
+ this.lblRemaining.Location = new System.Drawing.Point(112, 206);
+ this.lblRemaining.Name = "lblRemaining";
+ this.lblRemaining.Size = new System.Drawing.Size(0, 21);
+ this.lblRemaining.TabIndex = 6;
+ //
+ // lblPrompt
+ //
+ this.lblPrompt.AutoSize = true;
+ this.lblPrompt.ForeColor = System.Drawing.Color.Red;
+ this.lblPrompt.Location = new System.Drawing.Point(174, 148);
+ this.lblPrompt.Name = "lblPrompt";
+ this.lblPrompt.Size = new System.Drawing.Size(260, 17);
+ this.lblPrompt.TabIndex = 6;
+ this.lblPrompt.Text = "请注意:该场为校园内部观看,采取实名制订票";
+ this.lblPrompt.Visible = false;
+ //
+ // btnBooking
+ //
+ this.btnBooking.Anchor = ((System.Windows.Forms.AnchorStyles)((System.Windows.Forms.AnchorStyles.Top | System.Windows.Forms.AnchorStyles.Right)));
+ this.btnBooking.Location = new System.Drawing.Point(485, 159);
+ this.btnBooking.Name = "btnBooking";
+ this.btnBooking.Size = new System.Drawing.Size(150, 72);
+ this.btnBooking.TabIndex = 7;
+ this.btnBooking.Text = "订票";
+ this.btnBooking.UseVisualStyleBackColor = true;
+ this.btnBooking.Click += new System.EventHandler(this.btnBooking_Click);
+ //
+ // groupBox2
+ //
+ this.groupBox2.Anchor = ((System.Windows.Forms.AnchorStyles)(((System.Windows.Forms.AnchorStyles.Top | System.Windows.Forms.AnchorStyles.Left)
+ | System.Windows.Forms.AnchorStyles.Right)));
+ this.groupBox2.Controls.Add(this.lblTitle);
+ this.groupBox2.Controls.Add(this.btnBooking);
+ this.groupBox2.Controls.Add(this.label2);
+ this.groupBox2.Controls.Add(this.lblPrompt);
+ this.groupBox2.Controls.Add(this.label6);
+ this.groupBox2.Controls.Add(this.lblRemaining);
+ this.groupBox2.Controls.Add(this.lblDate);
+ this.groupBox2.Controls.Add(this.lblTotal);
+ this.groupBox2.Controls.Add(this.lblTime);
+ this.groupBox2.Controls.Add(this.lblPrice);
+ this.groupBox2.Controls.Add(this.label4);
+ this.groupBox2.Controls.Add(this.label10);
+ this.groupBox2.Controls.Add(this.label8);
+ this.groupBox2.Location = new System.Drawing.Point(6, 13);
+ this.groupBox2.Name = "groupBox2";
+ this.groupBox2.Size = new System.Drawing.Size(641, 237);
+ this.groupBox2.TabIndex = 8;
+ this.groupBox2.TabStop = false;
+ this.groupBox2.Text = "场次信息";
+ //
+ // UCBooking
+ //
+ this.AutoScaleDimensions = new System.Drawing.SizeF(7F, 17F);
+ this.AutoScaleMode = System.Windows.Forms.AutoScaleMode.Font;
+ this.Controls.Add(this.groupBox2);
+ this.Controls.Add(this.groupBox1);
+ this.Font = new System.Drawing.Font("微软雅黑", 9F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(134)));
+ this.Margin = new System.Windows.Forms.Padding(3, 4, 3, 4);
+ this.Name = "UCBooking";
+ this.Size = new System.Drawing.Size(653, 494);
+ this.groupBox1.ResumeLayout(false);
+ this.groupBox2.ResumeLayout(false);
+ this.groupBox2.PerformLayout();
+ this.ResumeLayout(false);
+
+ }
+
+ #endregion
+
+ private UCSeatMap ucSeatMap1;
+ private System.Windows.Forms.GroupBox groupBox1;
+ private System.Windows.Forms.Label lblTitle;
+ private System.Windows.Forms.Label label2;
+ private System.Windows.Forms.Label lblDate;
+ private System.Windows.Forms.Label label4;
+ private System.Windows.Forms.Label lblPrice;
+ private System.Windows.Forms.Label label6;
+ private System.Windows.Forms.Label lblTime;
+ private System.Windows.Forms.Label label8;
+ private System.Windows.Forms.Label lblTotal;
+ private System.Windows.Forms.Label label10;
+ private System.Windows.Forms.Label lblRemaining;
+ private System.Windows.Forms.Label lblPrompt;
+ private System.Windows.Forms.Button btnBooking;
+ private System.Windows.Forms.GroupBox groupBox2;
+ }
+}
diff --git a/AuditoriumMS/UserControls/UCBooking.cs b/AuditoriumMS/UserControls/UCBooking.cs
new file mode 100644
index 0000000..8e692c3
--- /dev/null
+++ b/AuditoriumMS/UserControls/UCBooking.cs
@@ -0,0 +1,295 @@
+using System;
+using System.Collections.Generic;
+using System.ComponentModel;
+using System.Drawing;
+using System.Data;
+using System.Linq;
+using System.Text;
+using System.Windows.Forms;
+
+namespace AuditoriumMS.UserControls
+{
+ public partial class UCBooking : UserControl
+ {
+ public UCBooking()
+ {
+ InitializeComponent();
+ // 座位被选中事件
+ this.ucSeatMap1.SelectedEvent += UcSeatMap1_SelectedEvent;
+ }
+
+ private void UcSeatMap1_SelectedEvent(object sender, Point point)
+ {
+ if (this.ID == 0)
+ return;
+ Booking(point);
+ }
+ #region 属性
+ private int _ID;
+ public int ID
+ {
+ set
+ {
+ _ID = value;
+ this.UpdateInfo(value);
+ }
+ get
+ {
+ return _ID;
+ }
+ }
+
+ private string Title
+ {
+ get
+ {
+ return this.lblTitle.Text;
+ }
+ set
+ {
+ this.lblTitle.Text = value;
+ }
+ }
+ private DateTime _startTIme;
+ private DateTime StartTIme
+ {
+ get
+ {
+ return _startTIme;
+ }
+ set
+ {
+ _startTIme = value;
+ this.lblDate.Text = string.Format("{0} {1}",
+ value.ToString("yyyy-MM-dd"),
+ value.DayOfWeek);
+ this.lblTime.Text = value.ToString("HH:mm");
+ }
+ }
+ private string _type;
+ private string Type
+ {
+ get
+ {
+ return _type;
+ }
+ set
+ {
+ _type = value;
+ }
+ }
+ private int _price;
+ private int Price
+ {
+ get
+ {
+ return _price;
+ }
+ set
+ {
+ _price = value;
+ if (value == 0)
+ {
+ this.lblPrice.Text = "免费";
+ this.lblPrompt.Visible = true;
+ }
+ else
+ {
+ this.lblPrice.Text = string.Format("{0}元", value);
+ this.lblPrompt.Visible = false;
+ }
+ }
+ }
+ private int _total;
+ private int Total
+ {
+ get
+ {
+ return _total;
+ }
+ set
+ {
+ _total = value;
+ this.lblTotal.Text = value.ToString();
+ }
+ }
+ private int _count;
+ private int Count
+ {
+ get
+ {
+ return _count;
+ }
+ set
+ {
+ _count = value;
+ this.lblRemaining.Text = (Total - value).ToString();
+ }
+ }
+ #endregion
+
+ private bool[,] seatMap;
+
+ ///
+ /// 更新显示信息
+ ///
+ /// 场次ID
+ private void UpdateInfo(int id)
+ {
+ if (id == 0) return;
+ try
+ {
+ string sql = string.Format("SELECT * FROM 礼堂表 WHERE ID={0}", id);
+ DataTable dt = Access.obj.GetDataTable(sql);
+ if (dt == null || dt.Rows.Count < 1)
+ {
+ MessageBox.Show("未获取到数据!", "错误", MessageBoxButtons.OK, MessageBoxIcon.Error);
+ return;
+ }
+ this.Title = dt.Rows[0]["名称"].ToString();
+ this.StartTIme = Convert.ToDateTime(dt.Rows[0]["开始时间"]);
+ this.Price = Convert.ToInt32(dt.Rows[0]["票价"]);
+ this.Type = dt.Rows[0]["类型"].ToString();
+ this.Total = Convert.ToInt32(dt.Rows[0]["票数"]);
+
+
+ sql = string.Format("SELECT 排,列 FROM 票务表 WHERE 礼堂ID={0}", id);
+ DataTable seatDT = Access.obj.GetDataTable(sql);
+ this.seatMap = new bool[Program.AuditoriumSeatRowsCount, Program.AuditoriumSeatColumnsCount];
+ for (int i = 0; i < Program.AuditoriumSeatRowsCount; ++i)
+ for (int j = 0; j < Program.AuditoriumSeatColumnsCount; ++j)
+ seatMap[i,j] = false;
+
+ this.Count = seatDT.Rows.Count;
+ List seatList = new List();
+ foreach (DataRow row in seatDT.Rows)
+ {
+ Point p = new Point(Convert.ToInt32(row["排"]), Convert.ToInt32(row["列"]));
+ seatMap[p.X - 1, p.Y - 1] = true;
+ seatList.Add(p);
+ }
+
+ this.ucSeatMap1.SetValue(seatList, Convert.ToInt32(dt.Rows[0]["票数"]));
+ }
+ catch (Exception ex)
+ {
+ MessageBox.Show(ex.Message, "错误", MessageBoxButtons.OK, MessageBoxIcon.Error);
+ }
+ }
+
+
+ private bool Booking(Point point)
+ {
+ if (point.X == 0)
+ return false;
+ int id = 0;
+
+ // 免费为对校内开放,需要提供实名认证
+ if (this.Price == 0)
+ {
+ Forms.FormVerift formVerift = new Forms.FormVerift();
+ if (formVerift.ShowDialog() == DialogResult.OK)
+ {
+ id = Convert.ToInt32(formVerift.Tag);
+ string sql = string.Format("SELECT 排,列,购票时间 FROM 票务表 WHERE 购买者ID={0} AND 礼堂ID={1}",
+ id, this.ID);
+ try
+ {
+ DataTable dt = Access.obj.GetDataTable(sql);
+ if (dt != null && dt.Rows.Count > 0)
+ {
+ MessageBox.Show(string.Format("你在{0}已经买过本场的票,座位号:{1:00}-{2:00}",
+ Convert.ToDateTime(dt.Rows[0]["购票时间"]).ToString("yyyy-MM-dd HH:mm"),
+ dt.Rows[0]["排"], dt.Rows[0]["列"]), "提示", MessageBoxButtons.OK, MessageBoxIcon.Error);
+ return false;
+ }
+ }
+ catch (Exception ex)
+ {
+ MessageBox.Show(ex.Message, "错误", MessageBoxButtons.OK, MessageBoxIcon.Error);
+ }
+ }
+ else
+ {
+ return false;
+ }
+ }
+ InsertTicketInfo(point, id);
+ UpdateInfo(this.ID);
+
+ // 每张票上的信息包括日期(年、月、日)、星期、时间(时、分)、排、号、类型、票价、编号,以及“名家礼堂”这一固定名称。
+ MessageBox.Show(string.Format("订票成功,座位号为:{0:00}-{1:00}", point.X, point.Y), "提示", MessageBoxButtons.OK, MessageBoxIcon.Information);
+ PrintTicket(point);
+ return true;
+ }
+
+ ///
+ /// 打印票据
+ ///
+ /// 座位坐标
+ private void PrintTicket(Point point)
+ {
+ SaveFileDialog save = new SaveFileDialog();
+ save.Filter = "票据文件|*.txt";
+ if (MessageBox.Show("请问是否打印票据信息?", "提示", MessageBoxButtons.YesNo, MessageBoxIcon.Question) != DialogResult.Yes)
+ return;
+ if (save.ShowDialog() != DialogResult.OK)
+ return;
+ string savePath = save.FileName;
+ using (System.IO.FileStream file = new System.IO.FileStream(savePath, System.IO.FileMode.Create, System.IO.FileAccess.Write))
+ {
+ using (System.IO.TextWriter text = new System.IO.StreamWriter(file, System.Text.Encoding.Default))
+ {
+ text.Write(string.Format("日期:{0}\t星期:{1}\t时间:{2}\t排:{3}\t号:{4}\t类型:{5}\t票价:{6}\t编号:{7}\t名称:{8}",
+ this.StartTIme.ToShortDateString(), this.StartTIme.DayOfWeek, this.StartTIme.ToShortTimeString(),
+ point.X, point.Y, this.Type, this.Price, this.ID, this.Title));
+ }
+ }
+ }
+
+ ///
+ /// 插入票据信息
+ ///
+ /// 座位
+ /// 购买者ID(外来人为0)
+ private void InsertTicketInfo(Point p, int id)
+ {
+ string sql = string.Format("INSERT INTO 票务表(排,列,礼堂ID,购买者ID) VALUES({0}, {1}, {2}, {3})", p.X, p.Y, this.ID, id);
+ try
+ {
+ int n = Access.obj.Execute(sql);
+ }
+ catch (Exception ex)
+ {
+ MessageBox.Show(ex.Message, "错误", MessageBoxButtons.OK, MessageBoxIcon.Error);
+ }
+ }
+
+ ///
+ /// 寻找空座位
+ ///
+ /// 空位坐标
+ private Point FindVacancy()
+ {
+ for (int i = 0; i < Program.AuditoriumSeatRowsCount; ++i)
+ for (int j = 0; j < Program.AuditoriumSeatColumnsCount; ++j)
+ if (this.seatMap[i, j] == false)
+ return new Point(i + 1, j + 1);
+ return new Point(0, 0);
+ }
+
+ private void btnBooking_Click(object sender, EventArgs e)
+ {
+ if (this.ID == 0)
+ return;
+
+ if (this.Count == this.Total)
+ {
+ MessageBox.Show("没有余票", "错误", MessageBoxButtons.OK, MessageBoxIcon.Error);
+ return;
+ }
+
+ Booking(FindVacancy());
+ }
+ }
+}
diff --git a/AuditoriumMS/UserControls/UCBooking.resx b/AuditoriumMS/UserControls/UCBooking.resx
new file mode 100644
index 0000000..29dcb1b
--- /dev/null
+++ b/AuditoriumMS/UserControls/UCBooking.resx
@@ -0,0 +1,120 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ text/microsoft-resx
+
+
+ 2.0
+
+
+ System.Resources.ResXResourceReader, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089
+
+
+ System.Resources.ResXResourceWriter, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089
+
+
\ No newline at end of file
diff --git a/AuditoriumMS/UserControls/UCModifyPassword.Designer.cs b/AuditoriumMS/UserControls/UCModifyPassword.Designer.cs
new file mode 100644
index 0000000..aac222b
--- /dev/null
+++ b/AuditoriumMS/UserControls/UCModifyPassword.Designer.cs
@@ -0,0 +1,152 @@
+namespace AuditoriumMS.UserControls
+{
+ partial class UCModifyPassword
+ {
+ ///
+ /// 必需的设计器变量。
+ ///
+ private System.ComponentModel.IContainer components = null;
+
+ ///
+ /// 清理所有正在使用的资源。
+ ///
+ /// 如果应释放托管资源,为 true;否则为 false。
+ protected override void Dispose(bool disposing)
+ {
+ if (disposing && (components != null))
+ {
+ components.Dispose();
+ }
+ base.Dispose(disposing);
+ }
+
+ #region 组件设计器生成的代码
+
+ ///
+ /// 设计器支持所需的方法 - 不要修改
+ /// 使用代码编辑器修改此方法的内容。
+ ///
+ private void InitializeComponent()
+ {
+ this.txtOldPassword = new System.Windows.Forms.TextBox();
+ this.txtNewPassword = new System.Windows.Forms.TextBox();
+ this.txtNewPassword1 = new System.Windows.Forms.TextBox();
+ this.label1 = new System.Windows.Forms.Label();
+ this.label2 = new System.Windows.Forms.Label();
+ this.label3 = new System.Windows.Forms.Label();
+ this.groupBox1 = new System.Windows.Forms.GroupBox();
+ this.btnAccept = new System.Windows.Forms.Button();
+ this.groupBox1.SuspendLayout();
+ this.SuspendLayout();
+ //
+ // txtOldPassword
+ //
+ this.txtOldPassword.Location = new System.Drawing.Point(191, 116);
+ this.txtOldPassword.Name = "txtOldPassword";
+ this.txtOldPassword.PasswordChar = '*';
+ this.txtOldPassword.Size = new System.Drawing.Size(189, 34);
+ this.txtOldPassword.TabIndex = 0;
+ //
+ // txtNewPassword
+ //
+ this.txtNewPassword.Location = new System.Drawing.Point(191, 156);
+ this.txtNewPassword.Name = "txtNewPassword";
+ this.txtNewPassword.PasswordChar = '*';
+ this.txtNewPassword.Size = new System.Drawing.Size(189, 34);
+ this.txtNewPassword.TabIndex = 0;
+ //
+ // txtNewPassword1
+ //
+ this.txtNewPassword1.Location = new System.Drawing.Point(191, 196);
+ this.txtNewPassword1.Name = "txtNewPassword1";
+ this.txtNewPassword1.PasswordChar = '*';
+ this.txtNewPassword1.Size = new System.Drawing.Size(189, 34);
+ this.txtNewPassword1.TabIndex = 0;
+ //
+ // label1
+ //
+ this.label1.AutoSize = true;
+ this.label1.Font = new System.Drawing.Font("微软雅黑", 13F);
+ this.label1.Location = new System.Drawing.Point(121, 122);
+ this.label1.Name = "label1";
+ this.label1.Size = new System.Drawing.Size(64, 24);
+ this.label1.TabIndex = 1;
+ this.label1.Text = "旧密码";
+ //
+ // label2
+ //
+ this.label2.AutoSize = true;
+ this.label2.Font = new System.Drawing.Font("微软雅黑", 13F);
+ this.label2.Location = new System.Drawing.Point(121, 162);
+ this.label2.Name = "label2";
+ this.label2.Size = new System.Drawing.Size(64, 24);
+ this.label2.TabIndex = 2;
+ this.label2.Text = "新密码";
+ //
+ // label3
+ //
+ this.label3.AutoSize = true;
+ this.label3.Font = new System.Drawing.Font("微软雅黑", 13F);
+ this.label3.Location = new System.Drawing.Point(85, 202);
+ this.label3.Name = "label3";
+ this.label3.Size = new System.Drawing.Size(100, 24);
+ this.label3.TabIndex = 2;
+ this.label3.Text = "确认新密码";
+ //
+ // groupBox1
+ //
+ this.groupBox1.Anchor = System.Windows.Forms.AnchorStyles.None;
+ this.groupBox1.Controls.Add(this.btnAccept);
+ this.groupBox1.Controls.Add(this.txtOldPassword);
+ this.groupBox1.Controls.Add(this.label2);
+ this.groupBox1.Controls.Add(this.txtNewPassword1);
+ this.groupBox1.Controls.Add(this.label3);
+ this.groupBox1.Controls.Add(this.txtNewPassword);
+ this.groupBox1.Controls.Add(this.label1);
+ this.groupBox1.Font = new System.Drawing.Font("微软雅黑", 15F, System.Drawing.FontStyle.Bold);
+ this.groupBox1.Location = new System.Drawing.Point(183, 106);
+ this.groupBox1.Name = "groupBox1";
+ this.groupBox1.Size = new System.Drawing.Size(518, 323);
+ this.groupBox1.TabIndex = 3;
+ this.groupBox1.TabStop = false;
+ this.groupBox1.Text = "修改密码";
+ //
+ // btnAccept
+ //
+ this.btnAccept.Anchor = ((System.Windows.Forms.AnchorStyles)((System.Windows.Forms.AnchorStyles.Bottom | System.Windows.Forms.AnchorStyles.Right)));
+ this.btnAccept.Font = new System.Drawing.Font("微软雅黑", 12F, System.Drawing.FontStyle.Bold);
+ this.btnAccept.Location = new System.Drawing.Point(385, 266);
+ this.btnAccept.Name = "btnAccept";
+ this.btnAccept.Size = new System.Drawing.Size(115, 38);
+ this.btnAccept.TabIndex = 3;
+ this.btnAccept.Text = "确认";
+ this.btnAccept.UseVisualStyleBackColor = true;
+ this.btnAccept.Click += new System.EventHandler(this.btnAccept_Click);
+ //
+ // UCModifyPassword
+ //
+ this.AutoScaleDimensions = new System.Drawing.SizeF(7F, 17F);
+ this.AutoScaleMode = System.Windows.Forms.AutoScaleMode.Font;
+ this.Controls.Add(this.groupBox1);
+ this.Font = new System.Drawing.Font("微软雅黑", 9F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(134)));
+ this.Margin = new System.Windows.Forms.Padding(3, 4, 3, 4);
+ this.Name = "UCModifyPassword";
+ this.Size = new System.Drawing.Size(884, 534);
+ this.groupBox1.ResumeLayout(false);
+ this.groupBox1.PerformLayout();
+ this.ResumeLayout(false);
+
+ }
+
+ #endregion
+
+ private System.Windows.Forms.TextBox txtOldPassword;
+ private System.Windows.Forms.TextBox txtNewPassword;
+ private System.Windows.Forms.TextBox txtNewPassword1;
+ private System.Windows.Forms.Label label1;
+ private System.Windows.Forms.Label label2;
+ private System.Windows.Forms.Label label3;
+ private System.Windows.Forms.GroupBox groupBox1;
+ private System.Windows.Forms.Button btnAccept;
+ }
+}
diff --git a/AuditoriumMS/UserControls/UCModifyPassword.cs b/AuditoriumMS/UserControls/UCModifyPassword.cs
new file mode 100644
index 0000000..4b016c5
--- /dev/null
+++ b/AuditoriumMS/UserControls/UCModifyPassword.cs
@@ -0,0 +1,68 @@
+using System;
+using System.Collections.Generic;
+using System.ComponentModel;
+using System.Drawing;
+using System.Data;
+using System.Linq;
+using System.Text;
+using System.Windows.Forms;
+
+namespace AuditoriumMS.UserControls
+{
+ public partial class UCModifyPassword : UserControl
+ {
+ public UCModifyPassword()
+ {
+ InitializeComponent();
+ }
+
+ private void btnAccept_Click(object sender, EventArgs e)
+ {
+ if (string.IsNullOrEmpty(this.txtOldPassword.Text)
+ || string.IsNullOrEmpty(this.txtNewPassword.Text)
+ || string.IsNullOrEmpty(this.txtNewPassword1.Text))
+ {
+ MessageBox.Show("不能为空!", "错误", MessageBoxButtons.OK, MessageBoxIcon.Error);
+ return;
+ }
+
+ if (Access.IsHasSQLInject(this.txtOldPassword.Text)
+ || Access.IsHasSQLInject(this.txtNewPassword.Text)
+ || Access.IsHasSQLInject(this.txtNewPassword1.Text))
+ {
+ MessageBox.Show("禁止输入非法字符!", "错误", MessageBoxButtons.OK, MessageBoxIcon.Error);
+ return;
+ }
+
+ if (this.txtNewPassword.Text != this.txtNewPassword1.Text)
+ {
+ MessageBox.Show("两次密码不相同!", "错误", MessageBoxButtons.OK, MessageBoxIcon.Error);
+ return;
+ }
+
+ string sql = string.Format("UPDATE 管理员密码 SET [密码]='{0}' WHERE [密码]='{1}'",
+ this.txtNewPassword.Text, this.txtOldPassword.Text);
+ try
+ {
+ int n = Access.obj.Execute(sql);
+ if (n == 0)
+ {
+ MessageBox.Show("旧密码错误,修改失败!", "错误", MessageBoxButtons.OK, MessageBoxIcon.Error);
+ return;
+ }
+ else
+ {
+ this.txtNewPassword.Text = "";
+ this.txtNewPassword1.Text = "";
+ this.txtOldPassword.Text = "";
+ MessageBox.Show("密码修改成功!", "提示", MessageBoxButtons.OK, MessageBoxIcon.Information);
+ return;
+ }
+ }
+ catch (Exception ex)
+ {
+ MessageBox.Show(ex.Message, "错误", MessageBoxButtons.OK, MessageBoxIcon.Error);
+ }
+ }
+ }
+}
diff --git a/AuditoriumMS/UserControls/UCModifyPassword.resx b/AuditoriumMS/UserControls/UCModifyPassword.resx
new file mode 100644
index 0000000..29dcb1b
--- /dev/null
+++ b/AuditoriumMS/UserControls/UCModifyPassword.resx
@@ -0,0 +1,120 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ text/microsoft-resx
+
+
+ 2.0
+
+
+ System.Resources.ResXResourceReader, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089
+
+
+ System.Resources.ResXResourceWriter, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089
+
+
\ No newline at end of file
diff --git a/AuditoriumMS/UserControls/UCNewAuditorium.Designer.cs b/AuditoriumMS/UserControls/UCNewAuditorium.Designer.cs
new file mode 100644
index 0000000..c65e0e0
--- /dev/null
+++ b/AuditoriumMS/UserControls/UCNewAuditorium.Designer.cs
@@ -0,0 +1,359 @@
+namespace AuditoriumMS.UserControls
+{
+ partial class UCNewAuditorium
+ {
+ ///
+ /// 必需的设计器变量。
+ ///
+ private System.ComponentModel.IContainer components = null;
+
+ ///
+ /// 清理所有正在使用的资源。
+ ///
+ /// 如果应释放托管资源,为 true;否则为 false。
+ protected override void Dispose(bool disposing)
+ {
+ if (disposing && (components != null))
+ {
+ components.Dispose();
+ }
+ base.Dispose(disposing);
+ }
+
+ #region 组件设计器生成的代码
+
+ ///
+ /// 设计器支持所需的方法 - 不要修改
+ /// 使用代码编辑器修改此方法的内容。
+ ///
+ private void InitializeComponent()
+ {
+ this.label1 = new System.Windows.Forms.Label();
+ this.DTPStartTIme = new System.Windows.Forms.DateTimePicker();
+ this.cmbType = new System.Windows.Forms.ComboBox();
+ this.label2 = new System.Windows.Forms.Label();
+ this.label3 = new System.Windows.Forms.Label();
+ this.label4 = new System.Windows.Forms.Label();
+ this.label5 = new System.Windows.Forms.Label();
+ this.btnNew = new System.Windows.Forms.Button();
+ this.label6 = new System.Windows.Forms.Label();
+ this.label7 = new System.Windows.Forms.Label();
+ this.label8 = new System.Windows.Forms.Label();
+ this.NUDNumber = new System.Windows.Forms.NumericUpDown();
+ this.NUDPrice = new System.Windows.Forms.NumericUpDown();
+ this.NUDHour = new System.Windows.Forms.NumericUpDown();
+ this.NUDMinute = new System.Windows.Forms.NumericUpDown();
+ this.label9 = new System.Windows.Forms.Label();
+ this.label10 = new System.Windows.Forms.Label();
+ this.label11 = new System.Windows.Forms.Label();
+ this.groupBox1 = new System.Windows.Forms.GroupBox();
+ this.label12 = new System.Windows.Forms.Label();
+ this.txtTitle = new System.Windows.Forms.TextBox();
+ ((System.ComponentModel.ISupportInitialize)(this.NUDNumber)).BeginInit();
+ ((System.ComponentModel.ISupportInitialize)(this.NUDPrice)).BeginInit();
+ ((System.ComponentModel.ISupportInitialize)(this.NUDHour)).BeginInit();
+ ((System.ComponentModel.ISupportInitialize)(this.NUDMinute)).BeginInit();
+ this.groupBox1.SuspendLayout();
+ this.SuspendLayout();
+ //
+ // label1
+ //
+ this.label1.AutoSize = true;
+ this.label1.Font = new System.Drawing.Font("微软雅黑", 12F);
+ this.label1.Location = new System.Drawing.Point(86, 156);
+ this.label1.Name = "label1";
+ this.label1.Size = new System.Drawing.Size(74, 21);
+ this.label1.TabIndex = 0;
+ this.label1.Text = "总票数:";
+ //
+ // DTPStartTIme
+ //
+ this.DTPStartTIme.Location = new System.Drawing.Point(166, 218);
+ this.DTPStartTIme.Margin = new System.Windows.Forms.Padding(3, 4, 3, 4);
+ this.DTPStartTIme.Name = "DTPStartTIme";
+ this.DTPStartTIme.Size = new System.Drawing.Size(180, 23);
+ this.DTPStartTIme.TabIndex = 3;
+ //
+ // cmbType
+ //
+ this.cmbType.DropDownStyle = System.Windows.Forms.ComboBoxStyle.DropDownList;
+ this.cmbType.FormattingEnabled = true;
+ this.cmbType.Items.AddRange(new object[] {
+ "讲座",
+ "电影"});
+ this.cmbType.Location = new System.Drawing.Point(166, 282);
+ this.cmbType.Margin = new System.Windows.Forms.Padding(3, 4, 3, 4);
+ this.cmbType.Name = "cmbType";
+ this.cmbType.Size = new System.Drawing.Size(180, 25);
+ this.cmbType.TabIndex = 4;
+ //
+ // label2
+ //
+ this.label2.AutoSize = true;
+ this.label2.Font = new System.Drawing.Font("微软雅黑", 12F);
+ this.label2.Location = new System.Drawing.Point(70, 219);
+ this.label2.Name = "label2";
+ this.label2.Size = new System.Drawing.Size(90, 21);
+ this.label2.TabIndex = 0;
+ this.label2.Text = "开始日期:";
+ //
+ // label3
+ //
+ this.label3.AutoSize = true;
+ this.label3.Font = new System.Drawing.Font("微软雅黑", 12F);
+ this.label3.Location = new System.Drawing.Point(102, 281);
+ this.label3.Name = "label3";
+ this.label3.Size = new System.Drawing.Size(58, 21);
+ this.label3.TabIndex = 0;
+ this.label3.Text = "类型:";
+ //
+ // label4
+ //
+ this.label4.AutoSize = true;
+ this.label4.Font = new System.Drawing.Font("微软雅黑", 12F);
+ this.label4.Location = new System.Drawing.Point(102, 186);
+ this.label4.Name = "label4";
+ this.label4.Size = new System.Drawing.Size(58, 21);
+ this.label4.TabIndex = 0;
+ this.label4.Text = "票价:";
+ //
+ // label5
+ //
+ this.label5.AutoSize = true;
+ this.label5.Font = new System.Drawing.Font("微软雅黑", 18F, System.Drawing.FontStyle.Bold, System.Drawing.GraphicsUnit.Point, ((byte)(134)));
+ this.label5.Location = new System.Drawing.Point(128, 59);
+ this.label5.Name = "label5";
+ this.label5.Size = new System.Drawing.Size(158, 31);
+ this.label5.TabIndex = 0;
+ this.label5.Text = "新建票务信息";
+ //
+ // btnNew
+ //
+ this.btnNew.Font = new System.Drawing.Font("微软雅黑", 12F);
+ this.btnNew.Location = new System.Drawing.Point(117, 335);
+ this.btnNew.Name = "btnNew";
+ this.btnNew.Size = new System.Drawing.Size(180, 44);
+ this.btnNew.TabIndex = 5;
+ this.btnNew.Text = "新建";
+ this.btnNew.UseVisualStyleBackColor = true;
+ this.btnNew.Click += new System.EventHandler(this.btnNew_Click);
+ //
+ // label6
+ //
+ this.label6.AutoSize = true;
+ this.label6.Font = new System.Drawing.Font("微软雅黑", 12F);
+ this.label6.Location = new System.Drawing.Point(70, 250);
+ this.label6.Name = "label6";
+ this.label6.Size = new System.Drawing.Size(90, 21);
+ this.label6.TabIndex = 0;
+ this.label6.Text = "开始时间:";
+ //
+ // label7
+ //
+ this.label7.AutoSize = true;
+ this.label7.Font = new System.Drawing.Font("微软雅黑", 12F);
+ this.label7.Location = new System.Drawing.Point(226, 250);
+ this.label7.Name = "label7";
+ this.label7.Size = new System.Drawing.Size(26, 21);
+ this.label7.TabIndex = 0;
+ this.label7.Text = "时";
+ //
+ // label8
+ //
+ this.label8.AutoSize = true;
+ this.label8.Font = new System.Drawing.Font("微软雅黑", 12F);
+ this.label8.Location = new System.Drawing.Point(318, 250);
+ this.label8.Name = "label8";
+ this.label8.Size = new System.Drawing.Size(26, 21);
+ this.label8.TabIndex = 0;
+ this.label8.Text = "分";
+ //
+ // NUDNumber
+ //
+ this.NUDNumber.Location = new System.Drawing.Point(166, 155);
+ this.NUDNumber.Maximum = new decimal(new int[] {
+ 200,
+ 0,
+ 0,
+ 0});
+ this.NUDNumber.Minimum = new decimal(new int[] {
+ 1,
+ 0,
+ 0,
+ 0});
+ this.NUDNumber.Name = "NUDNumber";
+ this.NUDNumber.Size = new System.Drawing.Size(146, 23);
+ this.NUDNumber.TabIndex = 6;
+ this.NUDNumber.Value = new decimal(new int[] {
+ 200,
+ 0,
+ 0,
+ 0});
+ //
+ // NUDPrice
+ //
+ this.NUDPrice.Location = new System.Drawing.Point(166, 186);
+ this.NUDPrice.Maximum = new decimal(new int[] {
+ 1000,
+ 0,
+ 0,
+ 0});
+ this.NUDPrice.Name = "NUDPrice";
+ this.NUDPrice.Size = new System.Drawing.Size(146, 23);
+ this.NUDPrice.TabIndex = 6;
+ //
+ // NUDHour
+ //
+ this.NUDHour.Location = new System.Drawing.Point(167, 249);
+ this.NUDHour.Maximum = new decimal(new int[] {
+ 24,
+ 0,
+ 0,
+ 0});
+ this.NUDHour.Name = "NUDHour";
+ this.NUDHour.Size = new System.Drawing.Size(53, 23);
+ this.NUDHour.TabIndex = 6;
+ this.NUDHour.Value = new decimal(new int[] {
+ 14,
+ 0,
+ 0,
+ 0});
+ //
+ // NUDMinute
+ //
+ this.NUDMinute.Location = new System.Drawing.Point(259, 249);
+ this.NUDMinute.Maximum = new decimal(new int[] {
+ 60,
+ 0,
+ 0,
+ 0});
+ this.NUDMinute.Name = "NUDMinute";
+ this.NUDMinute.Size = new System.Drawing.Size(53, 23);
+ this.NUDMinute.TabIndex = 6;
+ //
+ // label9
+ //
+ this.label9.AutoSize = true;
+ this.label9.Font = new System.Drawing.Font("微软雅黑", 12F);
+ this.label9.Location = new System.Drawing.Point(318, 185);
+ this.label9.Name = "label9";
+ this.label9.Size = new System.Drawing.Size(26, 21);
+ this.label9.TabIndex = 0;
+ this.label9.Text = "元";
+ //
+ // label10
+ //
+ this.label10.AutoSize = true;
+ this.label10.Font = new System.Drawing.Font("微软雅黑", 12F);
+ this.label10.Location = new System.Drawing.Point(318, 155);
+ this.label10.Name = "label10";
+ this.label10.Size = new System.Drawing.Size(26, 21);
+ this.label10.TabIndex = 0;
+ this.label10.Text = "张";
+ //
+ // label11
+ //
+ this.label11.Anchor = ((System.Windows.Forms.AnchorStyles)((System.Windows.Forms.AnchorStyles.Top | System.Windows.Forms.AnchorStyles.Right)));
+ this.label11.AutoSize = true;
+ this.label11.Font = new System.Drawing.Font("微软雅黑", 12F, System.Drawing.FontStyle.Bold, System.Drawing.GraphicsUnit.Point, ((byte)(134)));
+ this.label11.ForeColor = System.Drawing.Color.Red;
+ this.label11.Location = new System.Drawing.Point(527, 0);
+ this.label11.Name = "label11";
+ this.label11.Size = new System.Drawing.Size(354, 22);
+ this.label11.TabIndex = 0;
+ this.label11.Text = "*对内开放不收费,对外开放收费且不使用实名制";
+ //
+ // groupBox1
+ //
+ this.groupBox1.Anchor = System.Windows.Forms.AnchorStyles.None;
+ this.groupBox1.Controls.Add(this.txtTitle);
+ this.groupBox1.Controls.Add(this.label5);
+ this.groupBox1.Controls.Add(this.NUDMinute);
+ this.groupBox1.Controls.Add(this.label12);
+ this.groupBox1.Controls.Add(this.label1);
+ this.groupBox1.Controls.Add(this.NUDHour);
+ this.groupBox1.Controls.Add(this.label2);
+ this.groupBox1.Controls.Add(this.NUDPrice);
+ this.groupBox1.Controls.Add(this.label6);
+ this.groupBox1.Controls.Add(this.NUDNumber);
+ this.groupBox1.Controls.Add(this.label7);
+ this.groupBox1.Controls.Add(this.btnNew);
+ this.groupBox1.Controls.Add(this.label4);
+ this.groupBox1.Controls.Add(this.cmbType);
+ this.groupBox1.Controls.Add(this.label9);
+ this.groupBox1.Controls.Add(this.DTPStartTIme);
+ this.groupBox1.Controls.Add(this.label10);
+ this.groupBox1.Controls.Add(this.label3);
+ this.groupBox1.Controls.Add(this.label8);
+ this.groupBox1.Location = new System.Drawing.Point(235, 61);
+ this.groupBox1.Name = "groupBox1";
+ this.groupBox1.Size = new System.Drawing.Size(415, 412);
+ this.groupBox1.TabIndex = 7;
+ this.groupBox1.TabStop = false;
+ this.groupBox1.Text = "信息录入";
+ //
+ // label12
+ //
+ this.label12.AutoSize = true;
+ this.label12.Font = new System.Drawing.Font("微软雅黑", 12F);
+ this.label12.Location = new System.Drawing.Point(102, 128);
+ this.label12.Name = "label12";
+ this.label12.Size = new System.Drawing.Size(58, 21);
+ this.label12.TabIndex = 0;
+ this.label12.Text = "名称:";
+ //
+ // txtTitle
+ //
+ this.txtTitle.Location = new System.Drawing.Point(166, 126);
+ this.txtTitle.Name = "txtTitle";
+ this.txtTitle.Size = new System.Drawing.Size(146, 23);
+ this.txtTitle.TabIndex = 7;
+ this.txtTitle.Text = "名家礼堂";
+ //
+ // UCNewAuditorium
+ //
+ this.AutoScaleDimensions = new System.Drawing.SizeF(7F, 17F);
+ this.AutoScaleMode = System.Windows.Forms.AutoScaleMode.Font;
+ this.Controls.Add(this.groupBox1);
+ this.Controls.Add(this.label11);
+ this.Font = new System.Drawing.Font("微软雅黑", 9F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(134)));
+ this.Margin = new System.Windows.Forms.Padding(3, 4, 3, 4);
+ this.Name = "UCNewAuditorium";
+ this.Size = new System.Drawing.Size(884, 534);
+ this.Load += new System.EventHandler(this.UCNewAuditorium_Load);
+ ((System.ComponentModel.ISupportInitialize)(this.NUDNumber)).EndInit();
+ ((System.ComponentModel.ISupportInitialize)(this.NUDPrice)).EndInit();
+ ((System.ComponentModel.ISupportInitialize)(this.NUDHour)).EndInit();
+ ((System.ComponentModel.ISupportInitialize)(this.NUDMinute)).EndInit();
+ this.groupBox1.ResumeLayout(false);
+ this.groupBox1.PerformLayout();
+ this.ResumeLayout(false);
+ this.PerformLayout();
+
+ }
+
+ #endregion
+
+ private System.Windows.Forms.Label label1;
+ private System.Windows.Forms.DateTimePicker DTPStartTIme;
+ private System.Windows.Forms.ComboBox cmbType;
+ private System.Windows.Forms.Label label2;
+ private System.Windows.Forms.Label label3;
+ private System.Windows.Forms.Label label4;
+ private System.Windows.Forms.Label label5;
+ private System.Windows.Forms.Button btnNew;
+ private System.Windows.Forms.Label label6;
+ private System.Windows.Forms.Label label7;
+ private System.Windows.Forms.Label label8;
+ private System.Windows.Forms.NumericUpDown NUDNumber;
+ private System.Windows.Forms.NumericUpDown NUDPrice;
+ private System.Windows.Forms.NumericUpDown NUDHour;
+ private System.Windows.Forms.NumericUpDown NUDMinute;
+ private System.Windows.Forms.Label label9;
+ private System.Windows.Forms.Label label10;
+ private System.Windows.Forms.Label label11;
+ private System.Windows.Forms.GroupBox groupBox1;
+ private System.Windows.Forms.TextBox txtTitle;
+ private System.Windows.Forms.Label label12;
+ }
+}
diff --git a/AuditoriumMS/UserControls/UCNewAuditorium.cs b/AuditoriumMS/UserControls/UCNewAuditorium.cs
new file mode 100644
index 0000000..153e98d
--- /dev/null
+++ b/AuditoriumMS/UserControls/UCNewAuditorium.cs
@@ -0,0 +1,79 @@
+using System;
+using System.Collections.Generic;
+using System.ComponentModel;
+using System.Drawing;
+using System.Data;
+using System.Linq;
+using System.Text;
+using System.Windows.Forms;
+
+namespace AuditoriumMS.UserControls
+{
+ public partial class UCNewAuditorium : UserControl
+ {
+ public UCNewAuditorium()
+ {
+ InitializeComponent();
+ }
+
+ private void btnNew_Click(object sender, EventArgs e)
+ {
+ int totalNumber = 0;
+ int price = 0;
+ string aType = "";
+ DateTime startTIme;
+ try
+ {
+ totalNumber = (int)this.NUDNumber.Value;
+ price = (int)this.NUDPrice.Value;
+ startTIme = this.DTPStartTIme.Value.Date;
+ startTIme = startTIme.AddHours((int)this.NUDHour.Value);
+ startTIme = startTIme.AddMinutes((int)this.NUDMinute.Value);
+ aType = this.cmbType.Text;
+
+ if (string.IsNullOrEmpty(txtTitle.Text))
+ {
+ MessageBox.Show("名称不能为空!", "错误", MessageBoxButtons.OK, MessageBoxIcon.Error);
+ return;
+ }
+ if (Access.IsHasSQLInject(txtTitle.Text))
+ {
+ MessageBox.Show("名称禁止输入非法字符!", "错误", MessageBoxButtons.OK, MessageBoxIcon.Error);
+ return;
+ }
+ if (startTIme < DateTime.Now)
+ {
+ MessageBox.Show("请选择正确的开始时间!", "错误", MessageBoxButtons.OK, MessageBoxIcon.Error);
+ return;
+ }
+ if (string.IsNullOrEmpty(aType))
+ {
+ MessageBox.Show("请选择类型!", "错误", MessageBoxButtons.OK, MessageBoxIcon.Error);
+ return;
+ }
+
+ string SQL = string.Format("INSERT INTO 礼堂表(名称,开始时间,类型,票价,票数) VALUES('{0}','{1}','{2}',{3},{4})", txtTitle.Text, startTIme, aType, price, totalNumber);
+ int n = Access.obj.Execute(SQL);
+ if (n == 1)
+ {
+ MessageBox.Show("新建成功!", "提示", MessageBoxButtons.OK, MessageBoxIcon.Asterisk);
+ }
+ else
+ {
+ MessageBox.Show("新建失败!", "错误", MessageBoxButtons.OK, MessageBoxIcon.Error);
+ }
+ }
+ catch (Exception ex)
+ {
+ MessageBox.Show("处理数据出错,请输入正确的数据!\n错误信息:" + ex.Message, "错误", MessageBoxButtons.OK, MessageBoxIcon.Error);
+ return;
+ }
+ }
+
+ private void UCNewAuditorium_Load(object sender, EventArgs e)
+ {
+ this.cmbType.SelectedIndex = 0;
+ this.NUDNumber.Maximum = Program.AuditoriumSeatColumnsCount * Program.AuditoriumSeatRowsCount;
+ }
+ }
+}
diff --git a/AuditoriumMS/UserControls/UCNewAuditorium.resx b/AuditoriumMS/UserControls/UCNewAuditorium.resx
new file mode 100644
index 0000000..29dcb1b
--- /dev/null
+++ b/AuditoriumMS/UserControls/UCNewAuditorium.resx
@@ -0,0 +1,120 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ text/microsoft-resx
+
+
+ 2.0
+
+
+ System.Resources.ResXResourceReader, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089
+
+
+ System.Resources.ResXResourceWriter, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089
+
+
\ No newline at end of file
diff --git a/AuditoriumMS/UserControls/UCReservationInfoSelect.Designer.cs b/AuditoriumMS/UserControls/UCReservationInfoSelect.Designer.cs
new file mode 100644
index 0000000..0a2f789
--- /dev/null
+++ b/AuditoriumMS/UserControls/UCReservationInfoSelect.Designer.cs
@@ -0,0 +1,390 @@
+namespace AuditoriumMS.UserControls
+{
+ partial class UCReservationInfoSelect
+ {
+ ///
+ /// 必需的设计器变量。
+ ///
+ private System.ComponentModel.IContainer components = null;
+
+ ///
+ /// 清理所有正在使用的资源。
+ ///
+ /// 如果应释放托管资源,为 true;否则为 false。
+ protected override void Dispose(bool disposing)
+ {
+ if (disposing && (components != null))
+ {
+ components.Dispose();
+ }
+ base.Dispose(disposing);
+ }
+
+ #region 组件设计器生成的代码
+
+ ///
+ /// 设计器支持所需的方法 - 不要修改
+ /// 使用代码编辑器修改此方法的内容。
+ ///
+ private void InitializeComponent()
+ {
+ this.NUDEndMinute = new System.Windows.Forms.NumericUpDown();
+ this.NUDBeginMinute = new System.Windows.Forms.NumericUpDown();
+ this.NUDEndHour = new System.Windows.Forms.NumericUpDown();
+ this.NUDBeginHour = new System.Windows.Forms.NumericUpDown();
+ this.DTPEndDate = new System.Windows.Forms.DateTimePicker();
+ this.label5 = new System.Windows.Forms.Label();
+ this.DTPBeginDate = new System.Windows.Forms.DateTimePicker();
+ this.label4 = new System.Windows.Forms.Label();
+ this.label8 = new System.Windows.Forms.Label();
+ this.label3 = new System.Windows.Forms.Label();
+ this.label7 = new System.Windows.Forms.Label();
+ this.label1 = new System.Windows.Forms.Label();
+ this.label9 = new System.Windows.Forms.Label();
+ this.label6 = new System.Windows.Forms.Label();
+ this.label2 = new System.Windows.Forms.Label();
+ this.txtNumber = new System.Windows.Forms.TextBox();
+ this.label10 = new System.Windows.Forms.Label();
+ this.label11 = new System.Windows.Forms.Label();
+ this.txtName = new System.Windows.Forms.TextBox();
+ this.label12 = new System.Windows.Forms.Label();
+ this.txtClass = new System.Windows.Forms.TextBox();
+ this.btnSelect = new System.Windows.Forms.Button();
+ this.groupBox1 = new System.Windows.Forms.GroupBox();
+ this.dataGridView1 = new System.Windows.Forms.DataGridView();
+ ((System.ComponentModel.ISupportInitialize)(this.NUDEndMinute)).BeginInit();
+ ((System.ComponentModel.ISupportInitialize)(this.NUDBeginMinute)).BeginInit();
+ ((System.ComponentModel.ISupportInitialize)(this.NUDEndHour)).BeginInit();
+ ((System.ComponentModel.ISupportInitialize)(this.NUDBeginHour)).BeginInit();
+ this.groupBox1.SuspendLayout();
+ ((System.ComponentModel.ISupportInitialize)(this.dataGridView1)).BeginInit();
+ this.SuspendLayout();
+ //
+ // NUDEndMinute
+ //
+ this.NUDEndMinute.Location = new System.Drawing.Point(416, 51);
+ this.NUDEndMinute.Margin = new System.Windows.Forms.Padding(3, 4, 3, 4);
+ this.NUDEndMinute.Maximum = new decimal(new int[] {
+ 60,
+ 0,
+ 0,
+ 0});
+ this.NUDEndMinute.Name = "NUDEndMinute";
+ this.NUDEndMinute.Size = new System.Drawing.Size(38, 23);
+ this.NUDEndMinute.TabIndex = 25;
+ //
+ // NUDBeginMinute
+ //
+ this.NUDBeginMinute.Location = new System.Drawing.Point(148, 51);
+ this.NUDBeginMinute.Margin = new System.Windows.Forms.Padding(3, 4, 3, 4);
+ this.NUDBeginMinute.Maximum = new decimal(new int[] {
+ 60,
+ 0,
+ 0,
+ 0});
+ this.NUDBeginMinute.Name = "NUDBeginMinute";
+ this.NUDBeginMinute.Size = new System.Drawing.Size(40, 23);
+ this.NUDBeginMinute.TabIndex = 26;
+ //
+ // NUDEndHour
+ //
+ this.NUDEndHour.Location = new System.Drawing.Point(347, 51);
+ this.NUDEndHour.Margin = new System.Windows.Forms.Padding(3, 4, 3, 4);
+ this.NUDEndHour.Maximum = new decimal(new int[] {
+ 24,
+ 0,
+ 0,
+ 0});
+ this.NUDEndHour.Name = "NUDEndHour";
+ this.NUDEndHour.Size = new System.Drawing.Size(38, 23);
+ this.NUDEndHour.TabIndex = 27;
+ this.NUDEndHour.Value = new decimal(new int[] {
+ 14,
+ 0,
+ 0,
+ 0});
+ //
+ // NUDBeginHour
+ //
+ this.NUDBeginHour.Location = new System.Drawing.Point(82, 51);
+ this.NUDBeginHour.Margin = new System.Windows.Forms.Padding(3, 4, 3, 4);
+ this.NUDBeginHour.Maximum = new decimal(new int[] {
+ 24,
+ 0,
+ 0,
+ 0});
+ this.NUDBeginHour.Name = "NUDBeginHour";
+ this.NUDBeginHour.Size = new System.Drawing.Size(38, 23);
+ this.NUDBeginHour.TabIndex = 28;
+ this.NUDBeginHour.Value = new decimal(new int[] {
+ 14,
+ 0,
+ 0,
+ 0});
+ //
+ // DTPEndDate
+ //
+ this.DTPEndDate.Location = new System.Drawing.Point(346, 17);
+ this.DTPEndDate.Margin = new System.Windows.Forms.Padding(3, 6, 3, 6);
+ this.DTPEndDate.Name = "DTPEndDate";
+ this.DTPEndDate.Size = new System.Drawing.Size(130, 23);
+ this.DTPEndDate.TabIndex = 23;
+ //
+ // label5
+ //
+ this.label5.AutoSize = true;
+ this.label5.Font = new System.Drawing.Font("微软雅黑", 10F);
+ this.label5.Location = new System.Drawing.Point(457, 52);
+ this.label5.Name = "label5";
+ this.label5.Size = new System.Drawing.Size(23, 20);
+ this.label5.TabIndex = 14;
+ this.label5.Text = "分";
+ //
+ // DTPBeginDate
+ //
+ this.DTPBeginDate.Location = new System.Drawing.Point(81, 17);
+ this.DTPBeginDate.Margin = new System.Windows.Forms.Padding(3, 6, 3, 6);
+ this.DTPBeginDate.Name = "DTPBeginDate";
+ this.DTPBeginDate.Size = new System.Drawing.Size(130, 23);
+ this.DTPBeginDate.TabIndex = 24;
+ //
+ // label4
+ //
+ this.label4.AutoSize = true;
+ this.label4.Font = new System.Drawing.Font("微软雅黑", 10F);
+ this.label4.Location = new System.Drawing.Point(386, 52);
+ this.label4.Name = "label4";
+ this.label4.Size = new System.Drawing.Size(23, 20);
+ this.label4.TabIndex = 16;
+ this.label4.Text = "时";
+ //
+ // label8
+ //
+ this.label8.AutoSize = true;
+ this.label8.Font = new System.Drawing.Font("微软雅黑", 10F);
+ this.label8.Location = new System.Drawing.Point(194, 52);
+ this.label8.Name = "label8";
+ this.label8.Size = new System.Drawing.Size(23, 20);
+ this.label8.TabIndex = 15;
+ this.label8.Text = "分";
+ //
+ // label3
+ //
+ this.label3.AutoSize = true;
+ this.label3.Font = new System.Drawing.Font("微软雅黑", 10F);
+ this.label3.Location = new System.Drawing.Point(275, 52);
+ this.label3.Name = "label3";
+ this.label3.Size = new System.Drawing.Size(79, 20);
+ this.label3.TabIndex = 18;
+ this.label3.Text = "结束时间:";
+ //
+ // label7
+ //
+ this.label7.AutoSize = true;
+ this.label7.Font = new System.Drawing.Font("微软雅黑", 10F);
+ this.label7.Location = new System.Drawing.Point(123, 52);
+ this.label7.Name = "label7";
+ this.label7.Size = new System.Drawing.Size(23, 20);
+ this.label7.TabIndex = 17;
+ this.label7.Text = "时";
+ //
+ // label1
+ //
+ this.label1.AutoSize = true;
+ this.label1.Font = new System.Drawing.Font("微软雅黑", 10F);
+ this.label1.Location = new System.Drawing.Point(275, 17);
+ this.label1.Name = "label1";
+ this.label1.Size = new System.Drawing.Size(79, 20);
+ this.label1.TabIndex = 21;
+ this.label1.Text = "结束日期:";
+ //
+ // label9
+ //
+ this.label9.AutoSize = true;
+ this.label9.Font = new System.Drawing.Font("微软雅黑", 12F);
+ this.label9.Location = new System.Drawing.Point(211, 31);
+ this.label9.Name = "label9";
+ this.label9.Size = new System.Drawing.Size(68, 21);
+ this.label9.TabIndex = 19;
+ this.label9.Text = "<——>";
+ //
+ // label6
+ //
+ this.label6.AutoSize = true;
+ this.label6.Font = new System.Drawing.Font("微软雅黑", 10F);
+ this.label6.Location = new System.Drawing.Point(10, 52);
+ this.label6.Name = "label6";
+ this.label6.Size = new System.Drawing.Size(79, 20);
+ this.label6.TabIndex = 20;
+ this.label6.Text = "起始时间:";
+ //
+ // label2
+ //
+ this.label2.AutoSize = true;
+ this.label2.Font = new System.Drawing.Font("微软雅黑", 10F);
+ this.label2.Location = new System.Drawing.Point(10, 18);
+ this.label2.Name = "label2";
+ this.label2.Size = new System.Drawing.Size(79, 20);
+ this.label2.TabIndex = 22;
+ this.label2.Text = "起始日期:";
+ //
+ // txtNumber
+ //
+ this.txtNumber.Location = new System.Drawing.Point(527, 16);
+ this.txtNumber.Name = "txtNumber";
+ this.txtNumber.Size = new System.Drawing.Size(147, 23);
+ this.txtNumber.TabIndex = 29;
+ //
+ // label10
+ //
+ this.label10.AutoSize = true;
+ this.label10.Font = new System.Drawing.Font("微软雅黑", 10F);
+ this.label10.Location = new System.Drawing.Point(483, 17);
+ this.label10.Name = "label10";
+ this.label10.Size = new System.Drawing.Size(51, 20);
+ this.label10.TabIndex = 18;
+ this.label10.Text = "学号:";
+ //
+ // label11
+ //
+ this.label11.AutoSize = true;
+ this.label11.Font = new System.Drawing.Font("微软雅黑", 10F);
+ this.label11.Location = new System.Drawing.Point(695, 17);
+ this.label11.Name = "label11";
+ this.label11.Size = new System.Drawing.Size(51, 20);
+ this.label11.TabIndex = 18;
+ this.label11.Text = "姓名:";
+ //
+ // txtName
+ //
+ this.txtName.Location = new System.Drawing.Point(740, 16);
+ this.txtName.Name = "txtName";
+ this.txtName.Size = new System.Drawing.Size(124, 23);
+ this.txtName.TabIndex = 29;
+ //
+ // label12
+ //
+ this.label12.AutoSize = true;
+ this.label12.Font = new System.Drawing.Font("微软雅黑", 10F);
+ this.label12.Location = new System.Drawing.Point(482, 53);
+ this.label12.Name = "label12";
+ this.label12.Size = new System.Drawing.Size(51, 20);
+ this.label12.TabIndex = 18;
+ this.label12.Text = "班级:";
+ //
+ // txtClass
+ //
+ this.txtClass.Location = new System.Drawing.Point(527, 52);
+ this.txtClass.Name = "txtClass";
+ this.txtClass.Size = new System.Drawing.Size(147, 23);
+ this.txtClass.TabIndex = 29;
+ //
+ // btnSelect
+ //
+ this.btnSelect.Anchor = ((System.Windows.Forms.AnchorStyles)((System.Windows.Forms.AnchorStyles.Top | System.Windows.Forms.AnchorStyles.Right)));
+ this.btnSelect.Location = new System.Drawing.Point(760, 44);
+ this.btnSelect.Name = "btnSelect";
+ this.btnSelect.Size = new System.Drawing.Size(104, 38);
+ this.btnSelect.TabIndex = 30;
+ this.btnSelect.Text = "查询";
+ this.btnSelect.UseVisualStyleBackColor = true;
+ this.btnSelect.Click += new System.EventHandler(this.btnSelect_Click);
+ //
+ // groupBox1
+ //
+ this.groupBox1.Anchor = ((System.Windows.Forms.AnchorStyles)((((System.Windows.Forms.AnchorStyles.Top | System.Windows.Forms.AnchorStyles.Bottom)
+ | System.Windows.Forms.AnchorStyles.Left)
+ | System.Windows.Forms.AnchorStyles.Right)));
+ this.groupBox1.Controls.Add(this.dataGridView1);
+ this.groupBox1.Location = new System.Drawing.Point(3, 81);
+ this.groupBox1.Name = "groupBox1";
+ this.groupBox1.Size = new System.Drawing.Size(878, 450);
+ this.groupBox1.TabIndex = 31;
+ this.groupBox1.TabStop = false;
+ this.groupBox1.Text = "查询结果";
+ //
+ // dataGridView1
+ //
+ this.dataGridView1.AllowUserToAddRows = false;
+ this.dataGridView1.AllowUserToDeleteRows = false;
+ this.dataGridView1.Anchor = ((System.Windows.Forms.AnchorStyles)((((System.Windows.Forms.AnchorStyles.Top | System.Windows.Forms.AnchorStyles.Bottom)
+ | System.Windows.Forms.AnchorStyles.Left)
+ | System.Windows.Forms.AnchorStyles.Right)));
+ this.dataGridView1.ColumnHeadersHeightSizeMode = System.Windows.Forms.DataGridViewColumnHeadersHeightSizeMode.AutoSize;
+ this.dataGridView1.Location = new System.Drawing.Point(6, 22);
+ this.dataGridView1.Name = "dataGridView1";
+ this.dataGridView1.ReadOnly = true;
+ this.dataGridView1.RowTemplate.Height = 23;
+ this.dataGridView1.Size = new System.Drawing.Size(866, 422);
+ this.dataGridView1.TabIndex = 0;
+ //
+ // UCReservationInfoSelect
+ //
+ this.AutoScaleDimensions = new System.Drawing.SizeF(7F, 17F);
+ this.AutoScaleMode = System.Windows.Forms.AutoScaleMode.Font;
+ this.Controls.Add(this.groupBox1);
+ this.Controls.Add(this.btnSelect);
+ this.Controls.Add(this.txtClass);
+ this.Controls.Add(this.txtName);
+ this.Controls.Add(this.txtNumber);
+ this.Controls.Add(this.NUDEndMinute);
+ this.Controls.Add(this.NUDBeginMinute);
+ this.Controls.Add(this.NUDEndHour);
+ this.Controls.Add(this.NUDBeginHour);
+ this.Controls.Add(this.DTPEndDate);
+ this.Controls.Add(this.label5);
+ this.Controls.Add(this.DTPBeginDate);
+ this.Controls.Add(this.label12);
+ this.Controls.Add(this.label4);
+ this.Controls.Add(this.label11);
+ this.Controls.Add(this.label8);
+ this.Controls.Add(this.label10);
+ this.Controls.Add(this.label3);
+ this.Controls.Add(this.label7);
+ this.Controls.Add(this.label1);
+ this.Controls.Add(this.label9);
+ this.Controls.Add(this.label6);
+ this.Controls.Add(this.label2);
+ this.Font = new System.Drawing.Font("微软雅黑", 9F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(134)));
+ this.Margin = new System.Windows.Forms.Padding(3, 4, 3, 4);
+ this.Name = "UCReservationInfoSelect";
+ this.Size = new System.Drawing.Size(884, 534);
+ ((System.ComponentModel.ISupportInitialize)(this.NUDEndMinute)).EndInit();
+ ((System.ComponentModel.ISupportInitialize)(this.NUDBeginMinute)).EndInit();
+ ((System.ComponentModel.ISupportInitialize)(this.NUDEndHour)).EndInit();
+ ((System.ComponentModel.ISupportInitialize)(this.NUDBeginHour)).EndInit();
+ this.groupBox1.ResumeLayout(false);
+ ((System.ComponentModel.ISupportInitialize)(this.dataGridView1)).EndInit();
+ this.ResumeLayout(false);
+ this.PerformLayout();
+
+ }
+
+ #endregion
+
+ private System.Windows.Forms.NumericUpDown NUDEndMinute;
+ private System.Windows.Forms.NumericUpDown NUDBeginMinute;
+ private System.Windows.Forms.NumericUpDown NUDEndHour;
+ private System.Windows.Forms.NumericUpDown NUDBeginHour;
+ private System.Windows.Forms.DateTimePicker DTPEndDate;
+ private System.Windows.Forms.Label label5;
+ private System.Windows.Forms.DateTimePicker DTPBeginDate;
+ private System.Windows.Forms.Label label4;
+ private System.Windows.Forms.Label label8;
+ private System.Windows.Forms.Label label3;
+ private System.Windows.Forms.Label label7;
+ private System.Windows.Forms.Label label1;
+ private System.Windows.Forms.Label label9;
+ private System.Windows.Forms.Label label6;
+ private System.Windows.Forms.Label label2;
+ private System.Windows.Forms.TextBox txtNumber;
+ private System.Windows.Forms.Label label10;
+ private System.Windows.Forms.Label label11;
+ private System.Windows.Forms.TextBox txtName;
+ private System.Windows.Forms.Label label12;
+ private System.Windows.Forms.TextBox txtClass;
+ private System.Windows.Forms.Button btnSelect;
+ private System.Windows.Forms.GroupBox groupBox1;
+ private System.Windows.Forms.DataGridView dataGridView1;
+ }
+}
diff --git a/AuditoriumMS/UserControls/UCReservationInfoSelect.cs b/AuditoriumMS/UserControls/UCReservationInfoSelect.cs
new file mode 100644
index 0000000..d0fdc4e
--- /dev/null
+++ b/AuditoriumMS/UserControls/UCReservationInfoSelect.cs
@@ -0,0 +1,78 @@
+using System;
+using System.Collections.Generic;
+using System.ComponentModel;
+using System.Drawing;
+using System.Data;
+using System.Linq;
+using System.Text;
+using System.Windows.Forms;
+
+namespace AuditoriumMS.UserControls
+{
+ public partial class UCReservationInfoSelect : UserControl
+ {
+ public UCReservationInfoSelect()
+ {
+ InitializeComponent();
+ }
+
+ private void btnSelect_Click(object sender, EventArgs e)
+ {
+ DateTime BeginTime = this.DTPBeginDate.Value.Date;
+ BeginTime = BeginTime.AddHours((double)this.NUDBeginHour.Value);
+ BeginTime = BeginTime.AddMinutes((double)this.NUDBeginMinute.Value);
+ DateTime EndTime = this.DTPEndDate.Value.Date;
+ EndTime = EndTime.AddHours((double)this.NUDEndHour.Value);
+ EndTime = EndTime.AddMinutes((double)this.NUDEndMinute.Value);
+
+ string name = this.txtName.Text;
+ string Class = this.txtClass.Text;
+ string number = this.txtNumber.Text;
+ if (Access.IsHasSQLInject(name) || Access.IsHasSQLInject(Class) || Access.IsHasSQLInject(number))
+ {
+ MessageBox.Show("请勿输入敏感词!", "错误", MessageBoxButtons.OK, MessageBoxIcon.Error);
+ return;
+ }
+
+ if (!string.IsNullOrEmpty(number))
+ {
+ try
+ {
+ number = string.Format("[学号] = {0}", int.Parse(number));
+ }
+ catch
+ {
+ MessageBox.Show("请输入正确的学号", "错误", MessageBoxButtons.OK, MessageBoxIcon.Error);
+ return;
+ }
+ }
+ else
+ number = "1=1";
+ if (!string.IsNullOrEmpty(Class))
+ Class = string.Format("[班级名称] = '{0}'", Class);
+ else
+ Class = "1=1";
+ if (!string.IsNullOrEmpty(name))
+ name = string.Format("[姓名] = '{0}'", name);
+ else
+ name = "1=1";
+
+ string sql = string.Format("SELECT s.*,t.[购票时间],t.[类型] FROM " +
+ "(SELECT * FROM [学生表] WHERE {0} AND {1} AND {2})s " +
+ "INNER JOIN " +
+ "(SELECT * FROM " +
+ "(SELECT * FROM [礼堂表] WHERE [票价] = 0 AND [开始时间] Between #{3}# AND #{4}#) a " +
+ "INNER JOIN [票务表] t ON a.ID = t.礼堂ID) t" +
+ " ON s.[学号] = t.[购买者ID]",
+ number, name, Class, BeginTime, EndTime);
+ try
+ {
+ this.dataGridView1.DataSource = Access.obj.GetDataTable(sql);
+ }
+ catch (Exception ex)
+ {
+ MessageBox.Show(ex.Message, "错误", MessageBoxButtons.OK, MessageBoxIcon.Error);
+ }
+ }
+ }
+}
diff --git a/AuditoriumMS/UserControls/UCReservationInfoSelect.resx b/AuditoriumMS/UserControls/UCReservationInfoSelect.resx
new file mode 100644
index 0000000..29dcb1b
--- /dev/null
+++ b/AuditoriumMS/UserControls/UCReservationInfoSelect.resx
@@ -0,0 +1,120 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ text/microsoft-resx
+
+
+ 2.0
+
+
+ System.Resources.ResXResourceReader, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089
+
+
+ System.Resources.ResXResourceWriter, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089
+
+
\ No newline at end of file
diff --git a/AuditoriumMS/UserControls/UCSeatMap.Designer.cs b/AuditoriumMS/UserControls/UCSeatMap.Designer.cs
new file mode 100644
index 0000000..36f1f86
--- /dev/null
+++ b/AuditoriumMS/UserControls/UCSeatMap.Designer.cs
@@ -0,0 +1,62 @@
+namespace AuditoriumMS.UserControls
+{
+ partial class UCSeatMap
+ {
+ ///
+ /// 必需的设计器变量。
+ ///
+ private System.ComponentModel.IContainer components = null;
+
+ ///
+ /// 清理所有正在使用的资源。
+ ///
+ /// 如果应释放托管资源,为 true;否则为 false。
+ protected override void Dispose(bool disposing)
+ {
+ if (disposing && (components != null))
+ {
+ components.Dispose();
+ }
+ base.Dispose(disposing);
+ }
+
+ #region 组件设计器生成的代码
+
+ ///
+ /// 设计器支持所需的方法 - 不要修改
+ /// 使用代码编辑器修改此方法的内容。
+ ///
+ private void InitializeComponent()
+ {
+ this.FLPMap = new System.Windows.Forms.FlowLayoutPanel();
+ this.SuspendLayout();
+ //
+ // FLPMap
+ //
+ this.FLPMap.AutoScroll = true;
+ this.FLPMap.BackColor = System.Drawing.Color.White;
+ this.FLPMap.Dock = System.Windows.Forms.DockStyle.Fill;
+ this.FLPMap.Location = new System.Drawing.Point(0, 0);
+ this.FLPMap.Margin = new System.Windows.Forms.Padding(0);
+ this.FLPMap.Name = "FLPMap";
+ this.FLPMap.Size = new System.Drawing.Size(400, 300);
+ this.FLPMap.TabIndex = 0;
+ //
+ // UCSeatMap
+ //
+ this.AutoScaleDimensions = new System.Drawing.SizeF(6F, 12F);
+ this.AutoScaleMode = System.Windows.Forms.AutoScaleMode.Font;
+ this.Controls.Add(this.FLPMap);
+ this.MinimumSize = new System.Drawing.Size(200, 100);
+ this.Name = "UCSeatMap";
+ this.Size = new System.Drawing.Size(400, 300);
+ this.Load += new System.EventHandler(this.UCSeatMap_Load);
+ this.ResumeLayout(false);
+
+ }
+
+ #endregion
+
+ private System.Windows.Forms.FlowLayoutPanel FLPMap;
+ }
+}
diff --git a/AuditoriumMS/UserControls/UCSeatMap.cs b/AuditoriumMS/UserControls/UCSeatMap.cs
new file mode 100644
index 0000000..c1c32b2
--- /dev/null
+++ b/AuditoriumMS/UserControls/UCSeatMap.cs
@@ -0,0 +1,128 @@
+using System;
+using System.Collections.Generic;
+using System.ComponentModel;
+using System.Drawing;
+using System.Data;
+using System.Linq;
+using System.Text;
+using System.Windows.Forms;
+
+namespace AuditoriumMS.UserControls
+{
+ public partial class UCSeatMap : UserControl
+ {
+ public UCSeatMap()
+ {
+ InitializeComponent();
+
+ }
+ ///
+ /// 是否已经初始化
+ ///
+ private bool isInit = false;
+ private void InitializerSeatMap()
+ {
+ System.Threading.Thread t = new System.Threading.Thread(() =>
+ {
+ this.Invoke(new Action(() => { FLPMap.SuspendLayout(); }));
+ Label lblSeat = new Label();
+ for (int row = 1; row <= Program.AuditoriumSeatRowsCount; ++row)
+ {
+ for (int col = 1; col <= Program.AuditoriumSeatColumnsCount; ++col)
+ {
+ lblSeat = new Label();
+ lblSeat.Text = string.Format("{0:00}-{1:00}", row, col);
+ lblSeat.Name = lblSeat.Text;
+ lblSeat.AutoSize = true;
+ lblSeat.Margin = new Padding(6);
+ lblSeat.Tag = new Point(row, col);
+ lblSeat.Cursor = Cursors.Hand;
+ lblSeat.Click += LblSeat_Click;
+ this.Invoke(new Action(() => { FLPMap.Controls.Add(lblSeat); }));
+ }
+ this.Invoke(new Action(() => { FLPMap.SetFlowBreak(lblSeat, true); }));
+ }
+ this.isInit = true;
+ this.Invoke(new Action(() => { FLPMap.ResumeLayout(); }));
+ });
+ t.Start();
+ }
+
+ public delegate void SelectedEventHandler(object sender, Point point);
+ ///
+ /// 座位选中事件
+ ///
+ public event SelectedEventHandler SelectedEvent;
+ // 发出座位被选中的事件
+ private void LblSeat_Click(object sender, EventArgs e)
+ {
+ Label lblSeat = sender as Label;
+ // 如果颜色不是可以选的颜色,则直接返回
+ if (lblSeat.BackColor != Color.FromArgb(0x66, 0xFF, 0xCC))
+ return;
+ if (SelectedEvent != null)
+ SelectedEvent(sender, (Point)(sender as Label).Tag);
+ }
+
+ ///
+ /// 设置座位值
+ ///
+ /// 售出的座位
+ /// 总数量
+ public void SetValue(List soldList, int max)
+ {
+ while (!this.isInit)
+ ; // 等待初始化完毕
+ FLPMap.SuspendLayout();
+ for (int i = 0; i < this.FLPMap.Controls.Count; ++i)
+ {
+ Label lblSeat = FLPMap.Controls[i] as Label;
+ if (i < max)
+ {
+ lblSeat.Cursor = Cursors.Hand;
+ lblSeat.ForeColor = Color.FromArgb(0x00, 0x00, 0x00);
+ lblSeat.BackColor = Color.FromArgb(0x66, 0xFF, 0xCC);
+ }
+ else
+ {
+ // 如果是无法选择的座位,则取消事件
+ lblSeat.Cursor = Cursors.Default;
+ lblSeat.ForeColor = Color.FromArgb(0x99, 0x99, 0x99);
+ lblSeat.BackColor = Color.FromArgb(0xcc, 0xcc, 0xcc);
+ }
+ }
+
+ foreach (var p in soldList)
+ {
+ string name = string.Format("{0:00}-{1:00}", p.X, p.Y);
+ var c = FLPMap.Controls.Find(name, false);
+ if (c != null && c.Length > 0)
+ {
+ Label lblSeat = c[0] as Label;
+ // 如果是无法选择的座位,则取消事件
+ lblSeat.Cursor = Cursors.Default;
+ lblSeat.ForeColor = Color.FromArgb(0x00, 0x00, 0x00);
+ lblSeat.BackColor = Color.FromArgb(0xFF, 0xCC, 0x66);
+ }
+ }
+ FLPMap.ResumeLayout();
+ }
+
+ public void setValue(Point point)
+ {
+ string key = string.Format("{0:00}-{1:00}", point.X, point.Y);
+ var c = FLPMap.Controls.Find(key, false);
+ if (c != null && c.Length > 0)
+ {
+ Label lblSeat = c[0] as Label;
+ lblSeat.ForeColor = Color.FromArgb(0x00, 0x00, 0x00);
+ lblSeat.BackColor = Color.FromArgb(0xFF, 0xCC, 0x66);
+ }
+ }
+
+ private void UCSeatMap_Load(object sender, EventArgs e)
+ {
+ InitializerSeatMap();
+ }
+ }
+}
diff --git a/AuditoriumMS/UserControls/UCSeatMap.resx b/AuditoriumMS/UserControls/UCSeatMap.resx
new file mode 100644
index 0000000..29dcb1b
--- /dev/null
+++ b/AuditoriumMS/UserControls/UCSeatMap.resx
@@ -0,0 +1,120 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ text/microsoft-resx
+
+
+ 2.0
+
+
+ System.Resources.ResXResourceReader, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089
+
+
+ System.Resources.ResXResourceWriter, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089
+
+
\ No newline at end of file
diff --git a/AuditoriumMS/UserControls/UCShowChart.Designer.cs b/AuditoriumMS/UserControls/UCShowChart.Designer.cs
new file mode 100644
index 0000000..68fdddd
--- /dev/null
+++ b/AuditoriumMS/UserControls/UCShowChart.Designer.cs
@@ -0,0 +1,193 @@
+namespace AuditoriumMS.UserControls
+{
+ partial class UCShowChart
+ {
+ ///
+ /// 必需的设计器变量。
+ ///
+ private System.ComponentModel.IContainer components = null;
+
+ ///
+ /// 清理所有正在使用的资源。
+ ///
+ /// 如果应释放托管资源,为 true;否则为 false。
+ protected override void Dispose(bool disposing)
+ {
+ if (disposing && (components != null))
+ {
+ components.Dispose();
+ }
+ base.Dispose(disposing);
+ }
+
+ #region 组件设计器生成的代码
+
+ ///
+ /// 设计器支持所需的方法 - 不要修改
+ /// 使用代码编辑器修改此方法的内容。
+ ///
+ private void InitializeComponent()
+ {
+ System.Windows.Forms.DataVisualization.Charting.ChartArea chartArea1 = new System.Windows.Forms.DataVisualization.Charting.ChartArea();
+ System.Windows.Forms.DataVisualization.Charting.Legend legend1 = new System.Windows.Forms.DataVisualization.Charting.Legend();
+ System.Windows.Forms.DataVisualization.Charting.Series series1 = new System.Windows.Forms.DataVisualization.Charting.Series();
+ this.chart1 = new System.Windows.Forms.DataVisualization.Charting.Chart();
+ this.groupBox1 = new System.Windows.Forms.GroupBox();
+ this.label3 = new System.Windows.Forms.Label();
+ this.DTPEndDate = new System.Windows.Forms.DateTimePicker();
+ this.DTPBeginDate = new System.Windows.Forms.DateTimePicker();
+ this.label1 = new System.Windows.Forms.Label();
+ this.label9 = new System.Windows.Forms.Label();
+ this.label2 = new System.Windows.Forms.Label();
+ this.btnStartStatistics = new System.Windows.Forms.Button();
+ ((System.ComponentModel.ISupportInitialize)(this.chart1)).BeginInit();
+ this.groupBox1.SuspendLayout();
+ this.SuspendLayout();
+ //
+ // chart1
+ //
+ this.chart1.Anchor = ((System.Windows.Forms.AnchorStyles)((((System.Windows.Forms.AnchorStyles.Top | System.Windows.Forms.AnchorStyles.Bottom)
+ | System.Windows.Forms.AnchorStyles.Left)
+ | System.Windows.Forms.AnchorStyles.Right)));
+ chartArea1.AxisX.LabelStyle.Format = "MM-dd";
+ chartArea1.AxisX.MajorGrid.Enabled = false;
+ chartArea1.AxisX.Title = "日期";
+ chartArea1.AxisY.Title = "数量";
+ chartArea1.Name = "ChartArea1";
+ this.chart1.ChartAreas.Add(chartArea1);
+ legend1.Name = "Legend1";
+ this.chart1.Legends.Add(legend1);
+ this.chart1.Location = new System.Drawing.Point(6, 22);
+ this.chart1.Name = "chart1";
+ series1.ChartArea = "ChartArea1";
+ series1.Legend = "Legend1";
+ series1.LegendText = "预订数量";
+ series1.Name = "Series1";
+ series1.XValueType = System.Windows.Forms.DataVisualization.Charting.ChartValueType.Date;
+ this.chart1.Series.Add(series1);
+ this.chart1.Size = new System.Drawing.Size(866, 393);
+ this.chart1.TabIndex = 0;
+ this.chart1.Text = "预订信息统计图";
+ //
+ // groupBox1
+ //
+ this.groupBox1.Anchor = ((System.Windows.Forms.AnchorStyles)((((System.Windows.Forms.AnchorStyles.Top | System.Windows.Forms.AnchorStyles.Bottom)
+ | System.Windows.Forms.AnchorStyles.Left)
+ | System.Windows.Forms.AnchorStyles.Right)));
+ this.groupBox1.Controls.Add(this.chart1);
+ this.groupBox1.Location = new System.Drawing.Point(3, 110);
+ this.groupBox1.Name = "groupBox1";
+ this.groupBox1.Size = new System.Drawing.Size(878, 421);
+ this.groupBox1.TabIndex = 1;
+ this.groupBox1.TabStop = false;
+ this.groupBox1.Text = "图表区";
+ //
+ // label3
+ //
+ this.label3.Anchor = System.Windows.Forms.AnchorStyles.Top;
+ this.label3.AutoSize = true;
+ this.label3.Font = new System.Drawing.Font("微软雅黑", 18F, System.Drawing.FontStyle.Bold, System.Drawing.GraphicsUnit.Point, ((byte)(134)));
+ this.label3.Location = new System.Drawing.Point(286, 13);
+ this.label3.Name = "label3";
+ this.label3.Size = new System.Drawing.Size(312, 31);
+ this.label3.TabIndex = 41;
+ this.label3.Text = "预订数量信息统计-图形展示";
+ //
+ // DTPEndDate
+ //
+ this.DTPEndDate.Anchor = System.Windows.Forms.AnchorStyles.Top;
+ this.DTPEndDate.Location = new System.Drawing.Point(574, 64);
+ this.DTPEndDate.Margin = new System.Windows.Forms.Padding(3, 6, 3, 6);
+ this.DTPEndDate.Name = "DTPEndDate";
+ this.DTPEndDate.Size = new System.Drawing.Size(130, 23);
+ this.DTPEndDate.TabIndex = 39;
+ //
+ // DTPBeginDate
+ //
+ this.DTPBeginDate.Anchor = System.Windows.Forms.AnchorStyles.Top;
+ this.DTPBeginDate.Location = new System.Drawing.Point(252, 64);
+ this.DTPBeginDate.Margin = new System.Windows.Forms.Padding(3, 6, 3, 6);
+ this.DTPBeginDate.Name = "DTPBeginDate";
+ this.DTPBeginDate.Size = new System.Drawing.Size(130, 23);
+ this.DTPBeginDate.TabIndex = 40;
+ //
+ // label1
+ //
+ this.label1.Anchor = System.Windows.Forms.AnchorStyles.Top;
+ this.label1.AutoSize = true;
+ this.label1.Font = new System.Drawing.Font("微软雅黑", 10F);
+ this.label1.Location = new System.Drawing.Point(503, 65);
+ this.label1.Name = "label1";
+ this.label1.Size = new System.Drawing.Size(79, 20);
+ this.label1.TabIndex = 37;
+ this.label1.Text = "结束日期:";
+ //
+ // label9
+ //
+ this.label9.Anchor = System.Windows.Forms.AnchorStyles.Top;
+ this.label9.AutoSize = true;
+ this.label9.Font = new System.Drawing.Font("微软雅黑", 12F);
+ this.label9.Location = new System.Drawing.Point(412, 65);
+ this.label9.Name = "label9";
+ this.label9.Size = new System.Drawing.Size(68, 21);
+ this.label9.TabIndex = 36;
+ this.label9.Text = "<——>";
+ //
+ // label2
+ //
+ this.label2.Anchor = System.Windows.Forms.AnchorStyles.Top;
+ this.label2.AutoSize = true;
+ this.label2.Font = new System.Drawing.Font("微软雅黑", 10F);
+ this.label2.Location = new System.Drawing.Point(181, 65);
+ this.label2.Name = "label2";
+ this.label2.Size = new System.Drawing.Size(79, 20);
+ this.label2.TabIndex = 38;
+ this.label2.Text = "起始日期:";
+ //
+ // btnStartStatistics
+ //
+ this.btnStartStatistics.Anchor = ((System.Windows.Forms.AnchorStyles)((System.Windows.Forms.AnchorStyles.Top | System.Windows.Forms.AnchorStyles.Right)));
+ this.btnStartStatistics.Location = new System.Drawing.Point(774, 64);
+ this.btnStartStatistics.Name = "btnStartStatistics";
+ this.btnStartStatistics.Size = new System.Drawing.Size(101, 40);
+ this.btnStartStatistics.TabIndex = 42;
+ this.btnStartStatistics.Text = "开始统计";
+ this.btnStartStatistics.UseVisualStyleBackColor = true;
+ this.btnStartStatistics.Click += new System.EventHandler(this.btnStartStatistics_Click);
+ //
+ // UCShowChart
+ //
+ this.AutoScaleDimensions = new System.Drawing.SizeF(7F, 17F);
+ this.AutoScaleMode = System.Windows.Forms.AutoScaleMode.Font;
+ this.Controls.Add(this.btnStartStatistics);
+ this.Controls.Add(this.label3);
+ this.Controls.Add(this.DTPEndDate);
+ this.Controls.Add(this.DTPBeginDate);
+ this.Controls.Add(this.label1);
+ this.Controls.Add(this.label9);
+ this.Controls.Add(this.label2);
+ this.Controls.Add(this.groupBox1);
+ this.Font = new System.Drawing.Font("微软雅黑", 9F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(134)));
+ this.Margin = new System.Windows.Forms.Padding(3, 4, 3, 4);
+ this.Name = "UCShowChart";
+ this.Size = new System.Drawing.Size(884, 534);
+ ((System.ComponentModel.ISupportInitialize)(this.chart1)).EndInit();
+ this.groupBox1.ResumeLayout(false);
+ this.ResumeLayout(false);
+ this.PerformLayout();
+
+ }
+
+ #endregion
+
+ private System.Windows.Forms.DataVisualization.Charting.Chart chart1;
+ private System.Windows.Forms.GroupBox groupBox1;
+ private System.Windows.Forms.Label label3;
+ private System.Windows.Forms.DateTimePicker DTPEndDate;
+ private System.Windows.Forms.DateTimePicker DTPBeginDate;
+ private System.Windows.Forms.Label label1;
+ private System.Windows.Forms.Label label9;
+ private System.Windows.Forms.Label label2;
+ private System.Windows.Forms.Button btnStartStatistics;
+ }
+}
diff --git a/AuditoriumMS/UserControls/UCShowChart.cs b/AuditoriumMS/UserControls/UCShowChart.cs
new file mode 100644
index 0000000..98512d1
--- /dev/null
+++ b/AuditoriumMS/UserControls/UCShowChart.cs
@@ -0,0 +1,47 @@
+using System;
+using System.Collections.Generic;
+using System.ComponentModel;
+using System.Drawing;
+using System.Data;
+using System.Linq;
+using System.Text;
+using System.Windows.Forms;
+using System.Windows.Forms.DataVisualization.Charting;
+
+namespace AuditoriumMS.UserControls
+{
+ public partial class UCShowChart : UserControl
+ {
+ public UCShowChart()
+ {
+ InitializeComponent();
+ }
+
+ private void btnStartStatistics_Click(object sender, EventArgs e)
+ {
+ DateTime BeginDate = this.DTPBeginDate.Value.Date;
+ DateTime EndDate = this.DTPEndDate.Value.Date;
+
+ string sql1 = string.Format("SELECT t.购票日期,a.类型,t.预订数量 FROM " +
+ "(SELECT LEFT([购票时间], 10) AS 购票日期,礼堂ID,COUNT(*) AS 预订数量 " +
+ "FROM 票务表 WHERE [购票时间] Between #{0}# AND #{1}# GROUP BY LEFT([购票时间], 10), 礼堂ID) t " +
+ "LEFT JOIN [礼堂表] a ON t.礼堂ID = a.ID",
+ BeginDate, EndDate);
+ try
+ {
+ DataTable dt = Access.obj.GetDataTable(sql1);
+ foreach (DataRow row in dt.Rows)
+ {
+ DataPoint point = new DataPoint();
+ point.SetValueXY(row["购票日期"], row["预订数量"]);
+ point.ToolTip = row["类型"].ToString();
+ this.chart1.Series[0].Points.Add(point);
+ }
+ }
+ catch (Exception ex)
+ {
+ MessageBox.Show(ex.Message, "错误", MessageBoxButtons.OK, MessageBoxIcon.Error);
+ }
+ }
+ }
+}
diff --git a/AuditoriumMS/UserControls/UCShowChart.resx b/AuditoriumMS/UserControls/UCShowChart.resx
new file mode 100644
index 0000000..29dcb1b
--- /dev/null
+++ b/AuditoriumMS/UserControls/UCShowChart.resx
@@ -0,0 +1,120 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ text/microsoft-resx
+
+
+ 2.0
+
+
+ System.Resources.ResXResourceReader, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089
+
+
+ System.Resources.ResXResourceWriter, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089
+
+
\ No newline at end of file
diff --git a/AuditoriumMS/UserControls/UCSummaryReport.Designer.cs b/AuditoriumMS/UserControls/UCSummaryReport.Designer.cs
new file mode 100644
index 0000000..69b41f8
--- /dev/null
+++ b/AuditoriumMS/UserControls/UCSummaryReport.Designer.cs
@@ -0,0 +1,244 @@
+namespace AuditoriumMS.UserControls
+{
+ partial class UCSummaryReport
+ {
+ ///
+ /// 必需的设计器变量。
+ ///
+ private System.ComponentModel.IContainer components = null;
+
+ ///
+ /// 清理所有正在使用的资源。
+ ///
+ /// 如果应释放托管资源,为 true;否则为 false。
+ protected override void Dispose(bool disposing)
+ {
+ if (disposing && (components != null))
+ {
+ components.Dispose();
+ }
+ base.Dispose(disposing);
+ }
+
+ #region 组件设计器生成的代码
+
+ ///
+ /// 设计器支持所需的方法 - 不要修改
+ /// 使用代码编辑器修改此方法的内容。
+ ///
+ private void InitializeComponent()
+ {
+ this.tabControl1 = new System.Windows.Forms.TabControl();
+ this.tabPage1 = new System.Windows.Forms.TabPage();
+ this.tabPage2 = new System.Windows.Forms.TabPage();
+ this.cmbMonth = new System.Windows.Forms.ComboBox();
+ this.label1 = new System.Windows.Forms.Label();
+ this.label2 = new System.Windows.Forms.Label();
+ this.txtClassName = new System.Windows.Forms.TextBox();
+ this.btnReport = new System.Windows.Forms.Button();
+ this.dataGridView1 = new System.Windows.Forms.DataGridView();
+ this.groupBox1 = new System.Windows.Forms.GroupBox();
+ this.dataGridView2 = new System.Windows.Forms.DataGridView();
+ this.dataGridView3 = new System.Windows.Forms.DataGridView();
+ this.tabControl1.SuspendLayout();
+ this.tabPage1.SuspendLayout();
+ this.tabPage2.SuspendLayout();
+ ((System.ComponentModel.ISupportInitialize)(this.dataGridView1)).BeginInit();
+ this.groupBox1.SuspendLayout();
+ ((System.ComponentModel.ISupportInitialize)(this.dataGridView2)).BeginInit();
+ ((System.ComponentModel.ISupportInitialize)(this.dataGridView3)).BeginInit();
+ this.SuspendLayout();
+ //
+ // tabControl1
+ //
+ this.tabControl1.Anchor = ((System.Windows.Forms.AnchorStyles)((((System.Windows.Forms.AnchorStyles.Top | System.Windows.Forms.AnchorStyles.Bottom)
+ | System.Windows.Forms.AnchorStyles.Left)
+ | System.Windows.Forms.AnchorStyles.Right)));
+ this.tabControl1.Controls.Add(this.tabPage1);
+ this.tabControl1.Controls.Add(this.tabPage2);
+ this.tabControl1.Location = new System.Drawing.Point(3, 114);
+ this.tabControl1.Name = "tabControl1";
+ this.tabControl1.SelectedIndex = 0;
+ this.tabControl1.Size = new System.Drawing.Size(878, 417);
+ this.tabControl1.TabIndex = 0;
+ //
+ // tabPage1
+ //
+ this.tabPage1.Controls.Add(this.dataGridView2);
+ this.tabPage1.Location = new System.Drawing.Point(4, 26);
+ this.tabPage1.Name = "tabPage1";
+ this.tabPage1.Padding = new System.Windows.Forms.Padding(3);
+ this.tabPage1.Size = new System.Drawing.Size(870, 387);
+ this.tabPage1.TabIndex = 0;
+ this.tabPage1.Text = "学生预订明细";
+ this.tabPage1.UseVisualStyleBackColor = true;
+ //
+ // tabPage2
+ //
+ this.tabPage2.Controls.Add(this.dataGridView3);
+ this.tabPage2.Location = new System.Drawing.Point(4, 26);
+ this.tabPage2.Name = "tabPage2";
+ this.tabPage2.Padding = new System.Windows.Forms.Padding(3);
+ this.tabPage2.Size = new System.Drawing.Size(870, 387);
+ this.tabPage2.TabIndex = 1;
+ this.tabPage2.Text = "活动预订情况";
+ this.tabPage2.UseVisualStyleBackColor = true;
+ //
+ // cmbMonth
+ //
+ this.cmbMonth.DropDownStyle = System.Windows.Forms.ComboBoxStyle.DropDownList;
+ this.cmbMonth.FormattingEnabled = true;
+ this.cmbMonth.Items.AddRange(new object[] {
+ "1",
+ "2",
+ "3",
+ "4",
+ "5",
+ "6",
+ "7",
+ "8",
+ "9",
+ "10",
+ "11",
+ "12"});
+ this.cmbMonth.Location = new System.Drawing.Point(109, 62);
+ this.cmbMonth.Name = "cmbMonth";
+ this.cmbMonth.Size = new System.Drawing.Size(58, 25);
+ this.cmbMonth.TabIndex = 1;
+ //
+ // label1
+ //
+ this.label1.AutoSize = true;
+ this.label1.Font = new System.Drawing.Font("微软雅黑", 10F);
+ this.label1.Location = new System.Drawing.Point(52, 63);
+ this.label1.Name = "label1";
+ this.label1.Size = new System.Drawing.Size(51, 20);
+ this.label1.TabIndex = 2;
+ this.label1.Text = "月份:";
+ //
+ // label2
+ //
+ this.label2.AutoSize = true;
+ this.label2.Font = new System.Drawing.Font("微软雅黑", 10F);
+ this.label2.Location = new System.Drawing.Point(24, 30);
+ this.label2.Name = "label2";
+ this.label2.Size = new System.Drawing.Size(79, 20);
+ this.label2.TabIndex = 3;
+ this.label2.Text = "班级名称:";
+ //
+ // txtClassName
+ //
+ this.txtClassName.Location = new System.Drawing.Point(109, 29);
+ this.txtClassName.Name = "txtClassName";
+ this.txtClassName.Size = new System.Drawing.Size(138, 23);
+ this.txtClassName.TabIndex = 4;
+ //
+ // btnReport
+ //
+ this.btnReport.Location = new System.Drawing.Point(278, 27);
+ this.btnReport.Name = "btnReport";
+ this.btnReport.Size = new System.Drawing.Size(112, 27);
+ this.btnReport.TabIndex = 5;
+ this.btnReport.Text = "输出报表";
+ this.btnReport.UseVisualStyleBackColor = true;
+ this.btnReport.Click += new System.EventHandler(this.btnReport_Click);
+ //
+ // dataGridView1
+ //
+ this.dataGridView1.AllowUserToAddRows = false;
+ this.dataGridView1.AllowUserToDeleteRows = false;
+ this.dataGridView1.Anchor = ((System.Windows.Forms.AnchorStyles)((((System.Windows.Forms.AnchorStyles.Top | System.Windows.Forms.AnchorStyles.Bottom)
+ | System.Windows.Forms.AnchorStyles.Left)
+ | System.Windows.Forms.AnchorStyles.Right)));
+ this.dataGridView1.ColumnHeadersHeightSizeMode = System.Windows.Forms.DataGridViewColumnHeadersHeightSizeMode.AutoSize;
+ this.dataGridView1.Location = new System.Drawing.Point(6, 22);
+ this.dataGridView1.Name = "dataGridView1";
+ this.dataGridView1.ReadOnly = true;
+ this.dataGridView1.RowTemplate.Height = 23;
+ this.dataGridView1.Size = new System.Drawing.Size(443, 83);
+ this.dataGridView1.TabIndex = 6;
+ //
+ // groupBox1
+ //
+ this.groupBox1.Anchor = ((System.Windows.Forms.AnchorStyles)((System.Windows.Forms.AnchorStyles.Top | System.Windows.Forms.AnchorStyles.Right)));
+ this.groupBox1.Controls.Add(this.dataGridView1);
+ this.groupBox1.Location = new System.Drawing.Point(422, 3);
+ this.groupBox1.Name = "groupBox1";
+ this.groupBox1.Size = new System.Drawing.Size(455, 111);
+ this.groupBox1.TabIndex = 7;
+ this.groupBox1.TabStop = false;
+ this.groupBox1.Text = "班级当月票务情况";
+ //
+ // dataGridView2
+ //
+ this.dataGridView2.AllowUserToAddRows = false;
+ this.dataGridView2.AllowUserToDeleteRows = false;
+ this.dataGridView2.Anchor = ((System.Windows.Forms.AnchorStyles)((((System.Windows.Forms.AnchorStyles.Top | System.Windows.Forms.AnchorStyles.Bottom)
+ | System.Windows.Forms.AnchorStyles.Left)
+ | System.Windows.Forms.AnchorStyles.Right)));
+ this.dataGridView2.ColumnHeadersHeightSizeMode = System.Windows.Forms.DataGridViewColumnHeadersHeightSizeMode.AutoSize;
+ this.dataGridView2.Location = new System.Drawing.Point(3, 3);
+ this.dataGridView2.Name = "dataGridView2";
+ this.dataGridView2.ReadOnly = true;
+ this.dataGridView2.RowTemplate.Height = 23;
+ this.dataGridView2.Size = new System.Drawing.Size(864, 381);
+ this.dataGridView2.TabIndex = 0;
+ //
+ // dataGridView3
+ //
+ this.dataGridView3.AllowUserToAddRows = false;
+ this.dataGridView3.AllowUserToDeleteRows = false;
+ this.dataGridView3.Anchor = ((System.Windows.Forms.AnchorStyles)((((System.Windows.Forms.AnchorStyles.Top | System.Windows.Forms.AnchorStyles.Bottom)
+ | System.Windows.Forms.AnchorStyles.Left)
+ | System.Windows.Forms.AnchorStyles.Right)));
+ this.dataGridView3.ColumnHeadersHeightSizeMode = System.Windows.Forms.DataGridViewColumnHeadersHeightSizeMode.AutoSize;
+ this.dataGridView3.Location = new System.Drawing.Point(3, 3);
+ this.dataGridView3.Name = "dataGridView3";
+ this.dataGridView3.ReadOnly = true;
+ this.dataGridView3.RowTemplate.Height = 23;
+ this.dataGridView3.Size = new System.Drawing.Size(864, 381);
+ this.dataGridView3.TabIndex = 0;
+ //
+ // UCSummaryReport
+ //
+ this.AutoScaleDimensions = new System.Drawing.SizeF(7F, 17F);
+ this.AutoScaleMode = System.Windows.Forms.AutoScaleMode.Font;
+ this.Controls.Add(this.groupBox1);
+ this.Controls.Add(this.btnReport);
+ this.Controls.Add(this.txtClassName);
+ this.Controls.Add(this.label2);
+ this.Controls.Add(this.label1);
+ this.Controls.Add(this.cmbMonth);
+ this.Controls.Add(this.tabControl1);
+ this.Font = new System.Drawing.Font("微软雅黑", 9F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(134)));
+ this.Margin = new System.Windows.Forms.Padding(3, 4, 3, 4);
+ this.Name = "UCSummaryReport";
+ this.Size = new System.Drawing.Size(884, 534);
+ this.tabControl1.ResumeLayout(false);
+ this.tabPage1.ResumeLayout(false);
+ this.tabPage2.ResumeLayout(false);
+ ((System.ComponentModel.ISupportInitialize)(this.dataGridView1)).EndInit();
+ this.groupBox1.ResumeLayout(false);
+ ((System.ComponentModel.ISupportInitialize)(this.dataGridView2)).EndInit();
+ ((System.ComponentModel.ISupportInitialize)(this.dataGridView3)).EndInit();
+ this.ResumeLayout(false);
+ this.PerformLayout();
+
+ }
+
+ #endregion
+
+ private System.Windows.Forms.TabControl tabControl1;
+ private System.Windows.Forms.TabPage tabPage1;
+ private System.Windows.Forms.TabPage tabPage2;
+ private System.Windows.Forms.ComboBox cmbMonth;
+ private System.Windows.Forms.Label label1;
+ private System.Windows.Forms.Label label2;
+ private System.Windows.Forms.TextBox txtClassName;
+ private System.Windows.Forms.Button btnReport;
+ private System.Windows.Forms.DataGridView dataGridView1;
+ private System.Windows.Forms.GroupBox groupBox1;
+ private System.Windows.Forms.DataGridView dataGridView2;
+ private System.Windows.Forms.DataGridView dataGridView3;
+ }
+}
diff --git a/AuditoriumMS/UserControls/UCSummaryReport.cs b/AuditoriumMS/UserControls/UCSummaryReport.cs
new file mode 100644
index 0000000..08a912e
--- /dev/null
+++ b/AuditoriumMS/UserControls/UCSummaryReport.cs
@@ -0,0 +1,89 @@
+using System;
+using System.Collections.Generic;
+using System.ComponentModel;
+using System.Drawing;
+using System.Data;
+using System.Linq;
+using System.Text;
+using System.Windows.Forms;
+
+namespace AuditoriumMS.UserControls
+{
+ public partial class UCSummaryReport : UserControl
+ {
+ public UCSummaryReport()
+ {
+ InitializeComponent();
+ this.cmbMonth.SelectedIndex = DateTime.Now.Month - 1;
+ }
+
+ private void btnReport_Click(object sender, EventArgs e)
+ {
+ if (string.IsNullOrEmpty(txtClassName.Text))
+ {
+ MessageBox.Show("请输入班级名称!", "错误", MessageBoxButtons.OK, MessageBoxIcon.Error);
+ return;
+ }
+ if (Access.IsHasSQLInject(this.txtClassName.Text))
+ {
+ MessageBox.Show("请输入规范字符!", "错误", MessageBoxButtons.OK, MessageBoxIcon.Error);
+ return;
+ }
+
+ int year = DateTime.Now.Year;
+ int month = cmbMonth.SelectedIndex + 1;
+ // 如果统计的月份大于当前月,表示统计去年的
+ if (month > DateTime.Now.Month)
+ year--;
+
+ // 月初
+ DateTime BeginDate = new DateTime(year, month, 1);
+ // 月末
+ DateTime EndDate = new DateTime(year, month, DateTime.DaysInMonth(year, month));
+
+
+ string sql1 = string.Format("SELECT '{0}' AS 班级名称, '{1}' AS 起始日期, '{2}' AS 终止日期, COUNT(*) AS 预订票数 FROM [票务表] " +
+ "WHERE [购买者ID] IN(SELECT [学号] FROM [学生表] WHERE [班级名称] = '{0}') " +
+ "AND [购票时间] BETWEEN #{1}# AND #{2}#",
+ this.txtClassName.Text, BeginDate.ToShortDateString(), EndDate.ToShortDateString());
+ string sql2 = string.Format("SELECT st.学号,st.姓名,LEFT(a.开始时间,10) AS 日期,WeekDay(a.开始时间) AS 星期,Format(a.开始时间,'HH:mm') AS 时间,a.类型 FROM " +
+ "(SELECT * FROM " +
+ "(SELECT [学号],[姓名] FROM [学生表] WHERE [班级名称] = '{0}') s " +
+ "INNER JOIN " +
+ "(SELECT [礼堂ID],[购买者ID] FROM [票务表]) t " +
+ "ON s.学号 = t.购买者ID) st " +
+ "INNER JOIN " +
+ "(SELECT * FROM [礼堂表] WHERE [开始时间] BETWEEN #{1}# AND #{2}#) a " +
+ "ON st.礼堂ID = a.ID ORDER BY [学号] ASC",
+ this.txtClassName.Text, BeginDate.ToShortDateString(), EndDate.ToShortDateString());
+ string sql3 = string.Format("SELECT LEFT(a.开始时间,10) AS 日期,WeekDay(a.开始时间) AS 星期,Format(a.开始时间,'HH:mm') AS 时间,a.类型,t.数量 FROM " +
+ "(SELECT [礼堂ID],COUNT(*) AS 数量 FROM [票务表] " +
+ "WHERE [购买者ID] IN(SELECT [学号] FROM [学生表] WHERE [班级名称] = '{0}') " +
+ "GROUP BY [礼堂ID]) t " +
+ "INNER JOIN " +
+ "(SELECT * FROM [礼堂表] WHERE [开始时间] BETWEEN #{1}# AND #{2}#) a " +
+ "ON t.礼堂ID = a.ID ORDER BY [a.开始时间] ASC",
+ this.txtClassName.Text, BeginDate.ToShortDateString(), EndDate.ToShortDateString());
+ try
+ {
+ this.dataGridView1.DataSource = Access.obj.GetDataTable(sql1);
+ DataTable dt2 = Access.obj.GetDataTable(sql2);
+ DataTable dt3 = Access.obj.GetDataTable(sql3);
+ dt2.Columns.Add("序号");
+ dt3.Columns.Add("序号");
+ dt2.Columns["序号"].SetOrdinal(0);
+ dt3.Columns["序号"].SetOrdinal(0);
+ for (int i = 0; i < dt2.Rows.Count; ++i)
+ dt2.Rows[i]["序号"] = i + 1;
+ for (int i = 0; i < dt3.Rows.Count; ++i)
+ dt3.Rows[i]["序号"] = i + 1;
+ this.dataGridView2.DataSource = dt2;
+ this.dataGridView3.DataSource = dt3;
+ }
+ catch (Exception ex)
+ {
+ MessageBox.Show(ex.Message, "错误", MessageBoxButtons.OK, MessageBoxIcon.Error);
+ }
+ }
+ }
+}
diff --git a/AuditoriumMS/UserControls/UCSummaryReport.resx b/AuditoriumMS/UserControls/UCSummaryReport.resx
new file mode 100644
index 0000000..29dcb1b
--- /dev/null
+++ b/AuditoriumMS/UserControls/UCSummaryReport.resx
@@ -0,0 +1,120 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ text/microsoft-resx
+
+
+ 2.0
+
+
+ System.Resources.ResXResourceReader, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089
+
+
+ System.Resources.ResXResourceWriter, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089
+
+
\ No newline at end of file
diff --git a/AuditoriumMS/UserControls/UCTicketCountSelect.Designer.cs b/AuditoriumMS/UserControls/UCTicketCountSelect.Designer.cs
new file mode 100644
index 0000000..3ce45d6
--- /dev/null
+++ b/AuditoriumMS/UserControls/UCTicketCountSelect.Designer.cs
@@ -0,0 +1,85 @@
+namespace AuditoriumMS.UserControls
+{
+ partial class UCTicketCountSelect
+ {
+ ///
+ /// 必需的设计器变量。
+ ///
+ private System.ComponentModel.IContainer components = null;
+
+ ///
+ /// 清理所有正在使用的资源。
+ ///
+ /// 如果应释放托管资源,为 true;否则为 false。
+ protected override void Dispose(bool disposing)
+ {
+ if (disposing && (components != null))
+ {
+ components.Dispose();
+ }
+ base.Dispose(disposing);
+ }
+
+ #region 组件设计器生成的代码
+
+ ///
+ /// 设计器支持所需的方法 - 不要修改
+ /// 使用代码编辑器修改此方法的内容。
+ ///
+ private void InitializeComponent()
+ {
+ this.dataGridView1 = new System.Windows.Forms.DataGridView();
+ this.label1 = new System.Windows.Forms.Label();
+ ((System.ComponentModel.ISupportInitialize)(this.dataGridView1)).BeginInit();
+ this.SuspendLayout();
+ //
+ // dataGridView1
+ //
+ this.dataGridView1.AllowUserToAddRows = false;
+ this.dataGridView1.AllowUserToDeleteRows = false;
+ this.dataGridView1.Anchor = ((System.Windows.Forms.AnchorStyles)((((System.Windows.Forms.AnchorStyles.Top | System.Windows.Forms.AnchorStyles.Bottom)
+ | System.Windows.Forms.AnchorStyles.Left)
+ | System.Windows.Forms.AnchorStyles.Right)));
+ this.dataGridView1.ColumnHeadersHeightSizeMode = System.Windows.Forms.DataGridViewColumnHeadersHeightSizeMode.AutoSize;
+ this.dataGridView1.Location = new System.Drawing.Point(3, 89);
+ this.dataGridView1.Margin = new System.Windows.Forms.Padding(3, 4, 3, 4);
+ this.dataGridView1.Name = "dataGridView1";
+ this.dataGridView1.ReadOnly = true;
+ this.dataGridView1.RowTemplate.Height = 23;
+ this.dataGridView1.Size = new System.Drawing.Size(878, 441);
+ this.dataGridView1.TabIndex = 0;
+ //
+ // label1
+ //
+ this.label1.Anchor = System.Windows.Forms.AnchorStyles.Top;
+ this.label1.AutoSize = true;
+ this.label1.Font = new System.Drawing.Font("微软雅黑", 18F, System.Drawing.FontStyle.Bold);
+ this.label1.Location = new System.Drawing.Point(363, 31);
+ this.label1.Name = "label1";
+ this.label1.Size = new System.Drawing.Size(158, 31);
+ this.label1.TabIndex = 1;
+ this.label1.Text = "票务数量信息";
+ //
+ // UCTicketCountSelect
+ //
+ this.AutoScaleDimensions = new System.Drawing.SizeF(7F, 17F);
+ this.AutoScaleMode = System.Windows.Forms.AutoScaleMode.Font;
+ this.Controls.Add(this.label1);
+ this.Controls.Add(this.dataGridView1);
+ this.Font = new System.Drawing.Font("微软雅黑", 9F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(134)));
+ this.Margin = new System.Windows.Forms.Padding(3, 4, 3, 4);
+ this.Name = "UCTicketCountSelect";
+ this.Size = new System.Drawing.Size(884, 534);
+ this.Load += new System.EventHandler(this.UCTicketCountSelect_Load);
+ ((System.ComponentModel.ISupportInitialize)(this.dataGridView1)).EndInit();
+ this.ResumeLayout(false);
+ this.PerformLayout();
+
+ }
+
+ #endregion
+
+ private System.Windows.Forms.DataGridView dataGridView1;
+ private System.Windows.Forms.Label label1;
+ }
+}
diff --git a/AuditoriumMS/UserControls/UCTicketCountSelect.cs b/AuditoriumMS/UserControls/UCTicketCountSelect.cs
new file mode 100644
index 0000000..94ef379
--- /dev/null
+++ b/AuditoriumMS/UserControls/UCTicketCountSelect.cs
@@ -0,0 +1,35 @@
+using System;
+using System.Collections.Generic;
+using System.ComponentModel;
+using System.Drawing;
+using System.Data;
+using System.Linq;
+using System.Text;
+using System.Windows.Forms;
+
+namespace AuditoriumMS.UserControls
+{
+ public partial class UCTicketCountSelect : UserControl
+ {
+ public UCTicketCountSelect()
+ {
+ InitializeComponent();
+ }
+
+ private void UCTicketCountSelect_Load(object sender, EventArgs e)
+ {
+ string sql = "SELECT a.*, t.购票量, a.票数-t.购票量 as 剩余票数 FROM " +
+ "(SELECT [礼堂ID],COUNT(*) as 购票量 FROM [票务表] GROUP BY [礼堂ID]) t" +
+ " RIGHT JOIN [礼堂表] a ON t.礼堂ID = a.ID";
+
+ try
+ {
+ this.dataGridView1.DataSource = Access.obj.GetDataTable(sql);
+ }
+ catch (Exception ex)
+ {
+ MessageBox.Show(ex.Message, "错误", MessageBoxButtons.OK, MessageBoxIcon.Error);
+ }
+ }
+ }
+}
diff --git a/AuditoriumMS/UserControls/UCTicketCountSelect.resx b/AuditoriumMS/UserControls/UCTicketCountSelect.resx
new file mode 100644
index 0000000..29dcb1b
--- /dev/null
+++ b/AuditoriumMS/UserControls/UCTicketCountSelect.resx
@@ -0,0 +1,120 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ text/microsoft-resx
+
+
+ 2.0
+
+
+ System.Resources.ResXResourceReader, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089
+
+
+ System.Resources.ResXResourceWriter, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089
+
+
\ No newline at end of file
diff --git a/AuditoriumMS/UserControls/UCTicketCountStatistics.Designer.cs b/AuditoriumMS/UserControls/UCTicketCountStatistics.Designer.cs
new file mode 100644
index 0000000..1c8f981
--- /dev/null
+++ b/AuditoriumMS/UserControls/UCTicketCountStatistics.Designer.cs
@@ -0,0 +1,264 @@
+namespace AuditoriumMS.UserControls
+{
+ partial class UCTicketCountStatistics
+ {
+ ///
+ /// 必需的设计器变量。
+ ///
+ private System.ComponentModel.IContainer components = null;
+
+ ///
+ /// 清理所有正在使用的资源。
+ ///
+ /// 如果应释放托管资源,为 true;否则为 false。
+ protected override void Dispose(bool disposing)
+ {
+ if (disposing && (components != null))
+ {
+ components.Dispose();
+ }
+ base.Dispose(disposing);
+ }
+
+ #region 组件设计器生成的代码
+
+ ///
+ /// 设计器支持所需的方法 - 不要修改
+ /// 使用代码编辑器修改此方法的内容。
+ ///
+ private void InitializeComponent()
+ {
+ this.DTPEndDate = new System.Windows.Forms.DateTimePicker();
+ this.DTPBeginDate = new System.Windows.Forms.DateTimePicker();
+ this.label1 = new System.Windows.Forms.Label();
+ this.label9 = new System.Windows.Forms.Label();
+ this.label2 = new System.Windows.Forms.Label();
+ this.tabControl1 = new System.Windows.Forms.TabControl();
+ this.tabPage1 = new System.Windows.Forms.TabPage();
+ this.dataGridView1 = new System.Windows.Forms.DataGridView();
+ this.tabPage2 = new System.Windows.Forms.TabPage();
+ this.dataGridView2 = new System.Windows.Forms.DataGridView();
+ this.tabPage3 = new System.Windows.Forms.TabPage();
+ this.dataGridView3 = new System.Windows.Forms.DataGridView();
+ this.btnStartStatistics = new System.Windows.Forms.Button();
+ this.label3 = new System.Windows.Forms.Label();
+ this.tabControl1.SuspendLayout();
+ this.tabPage1.SuspendLayout();
+ ((System.ComponentModel.ISupportInitialize)(this.dataGridView1)).BeginInit();
+ this.tabPage2.SuspendLayout();
+ ((System.ComponentModel.ISupportInitialize)(this.dataGridView2)).BeginInit();
+ this.tabPage3.SuspendLayout();
+ ((System.ComponentModel.ISupportInitialize)(this.dataGridView3)).BeginInit();
+ this.SuspendLayout();
+ //
+ // DTPEndDate
+ //
+ this.DTPEndDate.Anchor = System.Windows.Forms.AnchorStyles.Top;
+ this.DTPEndDate.Location = new System.Drawing.Point(574, 64);
+ this.DTPEndDate.Margin = new System.Windows.Forms.Padding(3, 6, 3, 6);
+ this.DTPEndDate.Name = "DTPEndDate";
+ this.DTPEndDate.Size = new System.Drawing.Size(130, 23);
+ this.DTPEndDate.TabIndex = 28;
+ //
+ // DTPBeginDate
+ //
+ this.DTPBeginDate.Anchor = System.Windows.Forms.AnchorStyles.Top;
+ this.DTPBeginDate.Location = new System.Drawing.Point(252, 64);
+ this.DTPBeginDate.Margin = new System.Windows.Forms.Padding(3, 6, 3, 6);
+ this.DTPBeginDate.Name = "DTPBeginDate";
+ this.DTPBeginDate.Size = new System.Drawing.Size(130, 23);
+ this.DTPBeginDate.TabIndex = 29;
+ //
+ // label1
+ //
+ this.label1.Anchor = System.Windows.Forms.AnchorStyles.Top;
+ this.label1.AutoSize = true;
+ this.label1.Font = new System.Drawing.Font("微软雅黑", 10F);
+ this.label1.Location = new System.Drawing.Point(503, 65);
+ this.label1.Name = "label1";
+ this.label1.Size = new System.Drawing.Size(79, 20);
+ this.label1.TabIndex = 26;
+ this.label1.Text = "结束日期:";
+ //
+ // label9
+ //
+ this.label9.Anchor = System.Windows.Forms.AnchorStyles.Top;
+ this.label9.AutoSize = true;
+ this.label9.Font = new System.Drawing.Font("微软雅黑", 12F);
+ this.label9.Location = new System.Drawing.Point(412, 65);
+ this.label9.Name = "label9";
+ this.label9.Size = new System.Drawing.Size(68, 21);
+ this.label9.TabIndex = 25;
+ this.label9.Text = "<——>";
+ //
+ // label2
+ //
+ this.label2.Anchor = System.Windows.Forms.AnchorStyles.Top;
+ this.label2.AutoSize = true;
+ this.label2.Font = new System.Drawing.Font("微软雅黑", 10F);
+ this.label2.Location = new System.Drawing.Point(181, 65);
+ this.label2.Name = "label2";
+ this.label2.Size = new System.Drawing.Size(79, 20);
+ this.label2.TabIndex = 27;
+ this.label2.Text = "起始日期:";
+ //
+ // tabControl1
+ //
+ this.tabControl1.Anchor = ((System.Windows.Forms.AnchorStyles)((((System.Windows.Forms.AnchorStyles.Top | System.Windows.Forms.AnchorStyles.Bottom)
+ | System.Windows.Forms.AnchorStyles.Left)
+ | System.Windows.Forms.AnchorStyles.Right)));
+ this.tabControl1.Controls.Add(this.tabPage1);
+ this.tabControl1.Controls.Add(this.tabPage2);
+ this.tabControl1.Controls.Add(this.tabPage3);
+ this.tabControl1.Location = new System.Drawing.Point(3, 96);
+ this.tabControl1.Name = "tabControl1";
+ this.tabControl1.SelectedIndex = 0;
+ this.tabControl1.Size = new System.Drawing.Size(878, 435);
+ this.tabControl1.TabIndex = 30;
+ //
+ // tabPage1
+ //
+ this.tabPage1.Controls.Add(this.dataGridView1);
+ this.tabPage1.Location = new System.Drawing.Point(4, 26);
+ this.tabPage1.Name = "tabPage1";
+ this.tabPage1.Padding = new System.Windows.Forms.Padding(3);
+ this.tabPage1.Size = new System.Drawing.Size(870, 405);
+ this.tabPage1.TabIndex = 0;
+ this.tabPage1.Text = "预订信息统计";
+ this.tabPage1.UseVisualStyleBackColor = true;
+ //
+ // dataGridView1
+ //
+ this.dataGridView1.AllowUserToAddRows = false;
+ this.dataGridView1.AllowUserToDeleteRows = false;
+ this.dataGridView1.Anchor = ((System.Windows.Forms.AnchorStyles)((((System.Windows.Forms.AnchorStyles.Top | System.Windows.Forms.AnchorStyles.Bottom)
+ | System.Windows.Forms.AnchorStyles.Left)
+ | System.Windows.Forms.AnchorStyles.Right)));
+ this.dataGridView1.ColumnHeadersHeightSizeMode = System.Windows.Forms.DataGridViewColumnHeadersHeightSizeMode.AutoSize;
+ this.dataGridView1.Location = new System.Drawing.Point(6, 6);
+ this.dataGridView1.Name = "dataGridView1";
+ this.dataGridView1.ReadOnly = true;
+ this.dataGridView1.RowTemplate.Height = 23;
+ this.dataGridView1.Size = new System.Drawing.Size(858, 393);
+ this.dataGridView1.TabIndex = 0;
+ //
+ // tabPage2
+ //
+ this.tabPage2.Controls.Add(this.dataGridView2);
+ this.tabPage2.Location = new System.Drawing.Point(4, 26);
+ this.tabPage2.Name = "tabPage2";
+ this.tabPage2.Padding = new System.Windows.Forms.Padding(3);
+ this.tabPage2.Size = new System.Drawing.Size(870, 395);
+ this.tabPage2.TabIndex = 1;
+ this.tabPage2.Text = "学生预订信息统计";
+ this.tabPage2.UseVisualStyleBackColor = true;
+ //
+ // dataGridView2
+ //
+ this.dataGridView2.AllowUserToAddRows = false;
+ this.dataGridView2.AllowUserToDeleteRows = false;
+ this.dataGridView2.Anchor = ((System.Windows.Forms.AnchorStyles)((((System.Windows.Forms.AnchorStyles.Top | System.Windows.Forms.AnchorStyles.Bottom)
+ | System.Windows.Forms.AnchorStyles.Left)
+ | System.Windows.Forms.AnchorStyles.Right)));
+ this.dataGridView2.ColumnHeadersHeightSizeMode = System.Windows.Forms.DataGridViewColumnHeadersHeightSizeMode.AutoSize;
+ this.dataGridView2.Location = new System.Drawing.Point(6, 6);
+ this.dataGridView2.Name = "dataGridView2";
+ this.dataGridView2.ReadOnly = true;
+ this.dataGridView2.RowTemplate.Height = 23;
+ this.dataGridView2.Size = new System.Drawing.Size(858, 383);
+ this.dataGridView2.TabIndex = 1;
+ //
+ // tabPage3
+ //
+ this.tabPage3.Controls.Add(this.dataGridView3);
+ this.tabPage3.Location = new System.Drawing.Point(4, 26);
+ this.tabPage3.Name = "tabPage3";
+ this.tabPage3.Padding = new System.Windows.Forms.Padding(3);
+ this.tabPage3.Size = new System.Drawing.Size(870, 395);
+ this.tabPage3.TabIndex = 2;
+ this.tabPage3.Text = "班级预订信息统计";
+ this.tabPage3.UseVisualStyleBackColor = true;
+ //
+ // dataGridView3
+ //
+ this.dataGridView3.AllowUserToAddRows = false;
+ this.dataGridView3.AllowUserToDeleteRows = false;
+ this.dataGridView3.Anchor = ((System.Windows.Forms.AnchorStyles)((((System.Windows.Forms.AnchorStyles.Top | System.Windows.Forms.AnchorStyles.Bottom)
+ | System.Windows.Forms.AnchorStyles.Left)
+ | System.Windows.Forms.AnchorStyles.Right)));
+ this.dataGridView3.ColumnHeadersHeightSizeMode = System.Windows.Forms.DataGridViewColumnHeadersHeightSizeMode.AutoSize;
+ this.dataGridView3.Location = new System.Drawing.Point(6, 6);
+ this.dataGridView3.Name = "dataGridView3";
+ this.dataGridView3.ReadOnly = true;
+ this.dataGridView3.RowTemplate.Height = 23;
+ this.dataGridView3.Size = new System.Drawing.Size(858, 383);
+ this.dataGridView3.TabIndex = 1;
+ //
+ // btnStartStatistics
+ //
+ this.btnStartStatistics.Anchor = ((System.Windows.Forms.AnchorStyles)((System.Windows.Forms.AnchorStyles.Top | System.Windows.Forms.AnchorStyles.Right)));
+ this.btnStartStatistics.Location = new System.Drawing.Point(751, 37);
+ this.btnStartStatistics.Name = "btnStartStatistics";
+ this.btnStartStatistics.Size = new System.Drawing.Size(120, 49);
+ this.btnStartStatistics.TabIndex = 31;
+ this.btnStartStatistics.Text = "开始统计";
+ this.btnStartStatistics.UseVisualStyleBackColor = true;
+ this.btnStartStatistics.Click += new System.EventHandler(this.btnStartStatistics_Click);
+ //
+ // label3
+ //
+ this.label3.Anchor = System.Windows.Forms.AnchorStyles.Top;
+ this.label3.AutoSize = true;
+ this.label3.Font = new System.Drawing.Font("微软雅黑", 18F, System.Drawing.FontStyle.Bold, System.Drawing.GraphicsUnit.Point, ((byte)(134)));
+ this.label3.Location = new System.Drawing.Point(339, 13);
+ this.label3.Name = "label3";
+ this.label3.Size = new System.Drawing.Size(206, 31);
+ this.label3.TabIndex = 35;
+ this.label3.Text = "预订数量信息统计";
+ //
+ // UCTicketCountStatistics
+ //
+ this.AutoScaleDimensions = new System.Drawing.SizeF(7F, 17F);
+ this.AutoScaleMode = System.Windows.Forms.AutoScaleMode.Font;
+ this.Controls.Add(this.label3);
+ this.Controls.Add(this.btnStartStatistics);
+ this.Controls.Add(this.tabControl1);
+ this.Controls.Add(this.DTPEndDate);
+ this.Controls.Add(this.DTPBeginDate);
+ this.Controls.Add(this.label1);
+ this.Controls.Add(this.label9);
+ this.Controls.Add(this.label2);
+ this.Font = new System.Drawing.Font("微软雅黑", 9F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(134)));
+ this.Margin = new System.Windows.Forms.Padding(3, 4, 3, 4);
+ this.Name = "UCTicketCountStatistics";
+ this.Size = new System.Drawing.Size(884, 534);
+ this.tabControl1.ResumeLayout(false);
+ this.tabPage1.ResumeLayout(false);
+ ((System.ComponentModel.ISupportInitialize)(this.dataGridView1)).EndInit();
+ this.tabPage2.ResumeLayout(false);
+ ((System.ComponentModel.ISupportInitialize)(this.dataGridView2)).EndInit();
+ this.tabPage3.ResumeLayout(false);
+ ((System.ComponentModel.ISupportInitialize)(this.dataGridView3)).EndInit();
+ this.ResumeLayout(false);
+ this.PerformLayout();
+
+ }
+
+ #endregion
+
+ private System.Windows.Forms.DateTimePicker DTPEndDate;
+ private System.Windows.Forms.DateTimePicker DTPBeginDate;
+ private System.Windows.Forms.Label label1;
+ private System.Windows.Forms.Label label9;
+ private System.Windows.Forms.Label label2;
+ private System.Windows.Forms.TabControl tabControl1;
+ private System.Windows.Forms.TabPage tabPage1;
+ private System.Windows.Forms.DataGridView dataGridView1;
+ private System.Windows.Forms.TabPage tabPage2;
+ private System.Windows.Forms.DataGridView dataGridView2;
+ private System.Windows.Forms.TabPage tabPage3;
+ private System.Windows.Forms.DataGridView dataGridView3;
+ private System.Windows.Forms.Button btnStartStatistics;
+ private System.Windows.Forms.Label label3;
+ }
+}
diff --git a/AuditoriumMS/UserControls/UCTicketCountStatistics.cs b/AuditoriumMS/UserControls/UCTicketCountStatistics.cs
new file mode 100644
index 0000000..1c1f611
--- /dev/null
+++ b/AuditoriumMS/UserControls/UCTicketCountStatistics.cs
@@ -0,0 +1,52 @@
+using System;
+using System.Collections.Generic;
+using System.ComponentModel;
+using System.Drawing;
+using System.Data;
+using System.Linq;
+using System.Text;
+using System.Windows.Forms;
+
+namespace AuditoriumMS.UserControls
+{
+ public partial class UCTicketCountStatistics : UserControl
+ {
+ public UCTicketCountStatistics()
+ {
+ InitializeComponent();
+ }
+
+ private void btnStartStatistics_Click(object sender, EventArgs e)
+ {
+ DateTime BeginDate = this.DTPBeginDate.Value.Date;
+ DateTime EndDate = this.DTPEndDate.Value.Date;
+
+ string sql1 = string.Format("SELECT t.购票日期,a.类型,t.预订数量 FROM " +
+ "(SELECT LEFT([购票时间], 10) AS 购票日期,礼堂ID,COUNT(*) AS 预订数量 " +
+ "FROM 票务表 WHERE [购票时间] Between #{0}# AND #{1}# GROUP BY LEFT([购票时间], 10), 礼堂ID) t " +
+ "LEFT JOIN [礼堂表] a ON t.礼堂ID = a.ID",
+ BeginDate, EndDate);
+ string sql2 = string.Format("SELECT s.*,t.预订数量 FROM " +
+ "(SELECT [购买者ID],count(*) AS 预订数量 FROM 票务表 WHERE [购票时间] Between #{0}# AND #{1}# AND [购买者ID] <> 0 " +
+ "GROUP BY [购买者ID]) t " +
+ "LEFT JOIN [学生表] s ON t.购买者ID = s.学号",
+ BeginDate, EndDate);
+ string sql3 = string.Format("SELECT s.班级名称,SUM(t.预订数量) AS 总预订数量 FROM " +
+ "(SELECT [购买者ID],count(*) AS 预订数量 FROM 票务表 WHERE [购票时间] Between #{0}# AND #{1}# AND [购买者ID] <> 0 " +
+ "GROUP BY [购买者ID]) t " +
+ "LEFT JOIN [学生表] s ON t.购买者ID = s.学号 " +
+ "GROUP BY s.班级名称",
+ BeginDate, EndDate);
+ try
+ {
+ this.dataGridView1.DataSource = Access.obj.GetDataTable(sql1);
+ this.dataGridView2.DataSource = Access.obj.GetDataTable(sql2);
+ this.dataGridView3.DataSource = Access.obj.GetDataTable(sql3);
+ }
+ catch (Exception ex)
+ {
+ MessageBox.Show(ex.Message, "错误", MessageBoxButtons.OK, MessageBoxIcon.Error);
+ }
+ }
+ }
+}
diff --git a/AuditoriumMS/UserControls/UCTicketCountStatistics.resx b/AuditoriumMS/UserControls/UCTicketCountStatistics.resx
new file mode 100644
index 0000000..29dcb1b
--- /dev/null
+++ b/AuditoriumMS/UserControls/UCTicketCountStatistics.resx
@@ -0,0 +1,120 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ text/microsoft-resx
+
+
+ 2.0
+
+
+ System.Resources.ResXResourceReader, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089
+
+
+ System.Resources.ResXResourceWriter, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089
+
+
\ No newline at end of file
diff --git a/AuditoriumMS/UserControls/UCTicketSelect.Designer.cs b/AuditoriumMS/UserControls/UCTicketSelect.Designer.cs
new file mode 100644
index 0000000..2858cff
--- /dev/null
+++ b/AuditoriumMS/UserControls/UCTicketSelect.Designer.cs
@@ -0,0 +1,353 @@
+namespace AuditoriumMS.UserControls
+{
+ partial class UCTicketSelect
+ {
+ ///
+ /// 必需的设计器变量。
+ ///
+ private System.ComponentModel.IContainer components = null;
+
+ ///
+ /// 清理所有正在使用的资源。
+ ///
+ /// 如果应释放托管资源,为 true;否则为 false。
+ protected override void Dispose(bool disposing)
+ {
+ if (disposing && (components != null))
+ {
+ components.Dispose();
+ }
+ base.Dispose(disposing);
+ }
+
+ #region 组件设计器生成的代码
+
+ ///
+ /// 设计器支持所需的方法 - 不要修改
+ /// 使用代码编辑器修改此方法的内容。
+ ///
+ private void InitializeComponent()
+ {
+ this.NUDBeginMinute = new System.Windows.Forms.NumericUpDown();
+ this.NUDBeginHour = new System.Windows.Forms.NumericUpDown();
+ this.DTPBeginDate = new System.Windows.Forms.DateTimePicker();
+ this.label8 = new System.Windows.Forms.Label();
+ this.label7 = new System.Windows.Forms.Label();
+ this.label6 = new System.Windows.Forms.Label();
+ this.label2 = new System.Windows.Forms.Label();
+ this.label1 = new System.Windows.Forms.Label();
+ this.label3 = new System.Windows.Forms.Label();
+ this.label4 = new System.Windows.Forms.Label();
+ this.label5 = new System.Windows.Forms.Label();
+ this.DTPEndDate = new System.Windows.Forms.DateTimePicker();
+ this.NUDEndHour = new System.Windows.Forms.NumericUpDown();
+ this.NUDEndMinute = new System.Windows.Forms.NumericUpDown();
+ this.label9 = new System.Windows.Forms.Label();
+ this.groupBox1 = new System.Windows.Forms.GroupBox();
+ this.dataGridView1 = new System.Windows.Forms.DataGridView();
+ this.btnSelect = new System.Windows.Forms.Button();
+ this.label10 = new System.Windows.Forms.Label();
+ this.cmbType = new System.Windows.Forms.ComboBox();
+ ((System.ComponentModel.ISupportInitialize)(this.NUDBeginMinute)).BeginInit();
+ ((System.ComponentModel.ISupportInitialize)(this.NUDBeginHour)).BeginInit();
+ ((System.ComponentModel.ISupportInitialize)(this.NUDEndHour)).BeginInit();
+ ((System.ComponentModel.ISupportInitialize)(this.NUDEndMinute)).BeginInit();
+ this.groupBox1.SuspendLayout();
+ ((System.ComponentModel.ISupportInitialize)(this.dataGridView1)).BeginInit();
+ this.SuspendLayout();
+ //
+ // NUDBeginMinute
+ //
+ this.NUDBeginMinute.Location = new System.Drawing.Point(205, 66);
+ this.NUDBeginMinute.Margin = new System.Windows.Forms.Padding(3, 4, 3, 4);
+ this.NUDBeginMinute.Maximum = new decimal(new int[] {
+ 60,
+ 0,
+ 0,
+ 0});
+ this.NUDBeginMinute.Name = "NUDBeginMinute";
+ this.NUDBeginMinute.Size = new System.Drawing.Size(62, 23);
+ this.NUDBeginMinute.TabIndex = 12;
+ //
+ // NUDBeginHour
+ //
+ this.NUDBeginHour.Location = new System.Drawing.Point(98, 66);
+ this.NUDBeginHour.Margin = new System.Windows.Forms.Padding(3, 4, 3, 4);
+ this.NUDBeginHour.Maximum = new decimal(new int[] {
+ 24,
+ 0,
+ 0,
+ 0});
+ this.NUDBeginHour.Name = "NUDBeginHour";
+ this.NUDBeginHour.Size = new System.Drawing.Size(62, 23);
+ this.NUDBeginHour.TabIndex = 13;
+ this.NUDBeginHour.Value = new decimal(new int[] {
+ 14,
+ 0,
+ 0,
+ 0});
+ //
+ // DTPBeginDate
+ //
+ this.DTPBeginDate.Location = new System.Drawing.Point(97, 22);
+ this.DTPBeginDate.Margin = new System.Windows.Forms.Padding(3, 6, 3, 6);
+ this.DTPBeginDate.Name = "DTPBeginDate";
+ this.DTPBeginDate.Size = new System.Drawing.Size(209, 23);
+ this.DTPBeginDate.TabIndex = 11;
+ //
+ // label8
+ //
+ this.label8.AutoSize = true;
+ this.label8.Font = new System.Drawing.Font("微软雅黑", 12F);
+ this.label8.Location = new System.Drawing.Point(274, 66);
+ this.label8.Name = "label8";
+ this.label8.Size = new System.Drawing.Size(26, 21);
+ this.label8.TabIndex = 7;
+ this.label8.Text = "分";
+ //
+ // label7
+ //
+ this.label7.AutoSize = true;
+ this.label7.Font = new System.Drawing.Font("微软雅黑", 12F);
+ this.label7.Location = new System.Drawing.Point(167, 66);
+ this.label7.Name = "label7";
+ this.label7.Size = new System.Drawing.Size(26, 21);
+ this.label7.TabIndex = 8;
+ this.label7.Text = "时";
+ //
+ // label6
+ //
+ this.label6.AutoSize = true;
+ this.label6.Font = new System.Drawing.Font("微软雅黑", 12F);
+ this.label6.Location = new System.Drawing.Point(12, 66);
+ this.label6.Name = "label6";
+ this.label6.Size = new System.Drawing.Size(90, 21);
+ this.label6.TabIndex = 9;
+ this.label6.Text = "起始时间:";
+ //
+ // label2
+ //
+ this.label2.AutoSize = true;
+ this.label2.Font = new System.Drawing.Font("微软雅黑", 12F);
+ this.label2.Location = new System.Drawing.Point(12, 23);
+ this.label2.Name = "label2";
+ this.label2.Size = new System.Drawing.Size(90, 21);
+ this.label2.TabIndex = 10;
+ this.label2.Text = "起始日期:";
+ //
+ // label1
+ //
+ this.label1.AutoSize = true;
+ this.label1.Font = new System.Drawing.Font("微软雅黑", 12F);
+ this.label1.Location = new System.Drawing.Point(386, 23);
+ this.label1.Name = "label1";
+ this.label1.Size = new System.Drawing.Size(90, 21);
+ this.label1.TabIndex = 10;
+ this.label1.Text = "结束日期:";
+ //
+ // label3
+ //
+ this.label3.AutoSize = true;
+ this.label3.Font = new System.Drawing.Font("微软雅黑", 12F);
+ this.label3.Location = new System.Drawing.Point(386, 66);
+ this.label3.Name = "label3";
+ this.label3.Size = new System.Drawing.Size(90, 21);
+ this.label3.TabIndex = 9;
+ this.label3.Text = "结束时间:";
+ //
+ // label4
+ //
+ this.label4.AutoSize = true;
+ this.label4.Font = new System.Drawing.Font("微软雅黑", 12F);
+ this.label4.Location = new System.Drawing.Point(543, 67);
+ this.label4.Name = "label4";
+ this.label4.Size = new System.Drawing.Size(26, 21);
+ this.label4.TabIndex = 8;
+ this.label4.Text = "时";
+ //
+ // label5
+ //
+ this.label5.AutoSize = true;
+ this.label5.Font = new System.Drawing.Font("微软雅黑", 12F);
+ this.label5.Location = new System.Drawing.Point(651, 67);
+ this.label5.Name = "label5";
+ this.label5.Size = new System.Drawing.Size(26, 21);
+ this.label5.TabIndex = 7;
+ this.label5.Text = "分";
+ //
+ // DTPEndDate
+ //
+ this.DTPEndDate.Location = new System.Drawing.Point(473, 23);
+ this.DTPEndDate.Margin = new System.Windows.Forms.Padding(3, 6, 3, 6);
+ this.DTPEndDate.Name = "DTPEndDate";
+ this.DTPEndDate.Size = new System.Drawing.Size(209, 23);
+ this.DTPEndDate.TabIndex = 11;
+ //
+ // NUDEndHour
+ //
+ this.NUDEndHour.Location = new System.Drawing.Point(474, 67);
+ this.NUDEndHour.Margin = new System.Windows.Forms.Padding(3, 4, 3, 4);
+ this.NUDEndHour.Maximum = new decimal(new int[] {
+ 24,
+ 0,
+ 0,
+ 0});
+ this.NUDEndHour.Name = "NUDEndHour";
+ this.NUDEndHour.Size = new System.Drawing.Size(62, 23);
+ this.NUDEndHour.TabIndex = 13;
+ this.NUDEndHour.Value = new decimal(new int[] {
+ 14,
+ 0,
+ 0,
+ 0});
+ //
+ // NUDEndMinute
+ //
+ this.NUDEndMinute.Location = new System.Drawing.Point(582, 67);
+ this.NUDEndMinute.Margin = new System.Windows.Forms.Padding(3, 4, 3, 4);
+ this.NUDEndMinute.Maximum = new decimal(new int[] {
+ 60,
+ 0,
+ 0,
+ 0});
+ this.NUDEndMinute.Name = "NUDEndMinute";
+ this.NUDEndMinute.Size = new System.Drawing.Size(62, 23);
+ this.NUDEndMinute.TabIndex = 12;
+ //
+ // label9
+ //
+ this.label9.AutoSize = true;
+ this.label9.Font = new System.Drawing.Font("微软雅黑", 12F);
+ this.label9.Location = new System.Drawing.Point(312, 45);
+ this.label9.Name = "label9";
+ this.label9.Size = new System.Drawing.Size(68, 21);
+ this.label9.TabIndex = 9;
+ this.label9.Text = "<——>";
+ //
+ // groupBox1
+ //
+ this.groupBox1.Anchor = ((System.Windows.Forms.AnchorStyles)((((System.Windows.Forms.AnchorStyles.Top | System.Windows.Forms.AnchorStyles.Bottom)
+ | System.Windows.Forms.AnchorStyles.Left)
+ | System.Windows.Forms.AnchorStyles.Right)));
+ this.groupBox1.Controls.Add(this.dataGridView1);
+ this.groupBox1.Location = new System.Drawing.Point(3, 98);
+ this.groupBox1.Margin = new System.Windows.Forms.Padding(3, 4, 3, 4);
+ this.groupBox1.Name = "groupBox1";
+ this.groupBox1.Padding = new System.Windows.Forms.Padding(3, 4, 3, 4);
+ this.groupBox1.Size = new System.Drawing.Size(878, 432);
+ this.groupBox1.TabIndex = 14;
+ this.groupBox1.TabStop = false;
+ this.groupBox1.Text = "查询结果";
+ //
+ // dataGridView1
+ //
+ this.dataGridView1.AllowUserToAddRows = false;
+ this.dataGridView1.AllowUserToDeleteRows = false;
+ this.dataGridView1.Anchor = ((System.Windows.Forms.AnchorStyles)((((System.Windows.Forms.AnchorStyles.Top | System.Windows.Forms.AnchorStyles.Bottom)
+ | System.Windows.Forms.AnchorStyles.Left)
+ | System.Windows.Forms.AnchorStyles.Right)));
+ this.dataGridView1.ColumnHeadersHeightSizeMode = System.Windows.Forms.DataGridViewColumnHeadersHeightSizeMode.AutoSize;
+ this.dataGridView1.Location = new System.Drawing.Point(6, 23);
+ this.dataGridView1.Name = "dataGridView1";
+ this.dataGridView1.ReadOnly = true;
+ this.dataGridView1.RowTemplate.Height = 23;
+ this.dataGridView1.ScrollBars = System.Windows.Forms.ScrollBars.Vertical;
+ this.dataGridView1.Size = new System.Drawing.Size(866, 402);
+ this.dataGridView1.TabIndex = 0;
+ //
+ // btnSelect
+ //
+ this.btnSelect.Anchor = ((System.Windows.Forms.AnchorStyles)((System.Windows.Forms.AnchorStyles.Top | System.Windows.Forms.AnchorStyles.Right)));
+ this.btnSelect.Location = new System.Drawing.Point(710, 61);
+ this.btnSelect.Name = "btnSelect";
+ this.btnSelect.Size = new System.Drawing.Size(167, 36);
+ this.btnSelect.TabIndex = 15;
+ this.btnSelect.Text = "查询";
+ this.btnSelect.UseVisualStyleBackColor = true;
+ this.btnSelect.Click += new System.EventHandler(this.btnSelect_Click);
+ //
+ // label10
+ //
+ this.label10.AutoSize = true;
+ this.label10.Font = new System.Drawing.Font("微软雅黑", 10F);
+ this.label10.Location = new System.Drawing.Point(706, 22);
+ this.label10.Name = "label10";
+ this.label10.Size = new System.Drawing.Size(51, 20);
+ this.label10.TabIndex = 10;
+ this.label10.Text = "类型:";
+ //
+ // cmbType
+ //
+ this.cmbType.DropDownStyle = System.Windows.Forms.ComboBoxStyle.DropDownList;
+ this.cmbType.FormattingEnabled = true;
+ this.cmbType.Items.AddRange(new object[] {
+ "全部",
+ "讲座",
+ "电影"});
+ this.cmbType.Location = new System.Drawing.Point(753, 21);
+ this.cmbType.Name = "cmbType";
+ this.cmbType.Size = new System.Drawing.Size(86, 25);
+ this.cmbType.TabIndex = 16;
+ //
+ // UCTicketSelect
+ //
+ this.AutoScaleDimensions = new System.Drawing.SizeF(7F, 17F);
+ this.AutoScaleMode = System.Windows.Forms.AutoScaleMode.Font;
+ this.Controls.Add(this.cmbType);
+ this.Controls.Add(this.btnSelect);
+ this.Controls.Add(this.groupBox1);
+ this.Controls.Add(this.NUDEndMinute);
+ this.Controls.Add(this.NUDBeginMinute);
+ this.Controls.Add(this.NUDEndHour);
+ this.Controls.Add(this.NUDBeginHour);
+ this.Controls.Add(this.DTPEndDate);
+ this.Controls.Add(this.label5);
+ this.Controls.Add(this.DTPBeginDate);
+ this.Controls.Add(this.label4);
+ this.Controls.Add(this.label8);
+ this.Controls.Add(this.label3);
+ this.Controls.Add(this.label7);
+ this.Controls.Add(this.label10);
+ this.Controls.Add(this.label1);
+ this.Controls.Add(this.label9);
+ this.Controls.Add(this.label6);
+ this.Controls.Add(this.label2);
+ this.Font = new System.Drawing.Font("微软雅黑", 9F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(134)));
+ this.Margin = new System.Windows.Forms.Padding(3, 4, 3, 4);
+ this.Name = "UCTicketSelect";
+ this.Size = new System.Drawing.Size(884, 534);
+ ((System.ComponentModel.ISupportInitialize)(this.NUDBeginMinute)).EndInit();
+ ((System.ComponentModel.ISupportInitialize)(this.NUDBeginHour)).EndInit();
+ ((System.ComponentModel.ISupportInitialize)(this.NUDEndHour)).EndInit();
+ ((System.ComponentModel.ISupportInitialize)(this.NUDEndMinute)).EndInit();
+ this.groupBox1.ResumeLayout(false);
+ ((System.ComponentModel.ISupportInitialize)(this.dataGridView1)).EndInit();
+ this.ResumeLayout(false);
+ this.PerformLayout();
+
+ }
+
+ #endregion
+
+ private System.Windows.Forms.NumericUpDown NUDBeginMinute;
+ private System.Windows.Forms.NumericUpDown NUDBeginHour;
+ private System.Windows.Forms.DateTimePicker DTPBeginDate;
+ private System.Windows.Forms.Label label8;
+ private System.Windows.Forms.Label label7;
+ private System.Windows.Forms.Label label6;
+ private System.Windows.Forms.Label label2;
+ private System.Windows.Forms.Label label1;
+ private System.Windows.Forms.Label label3;
+ private System.Windows.Forms.Label label4;
+ private System.Windows.Forms.Label label5;
+ private System.Windows.Forms.DateTimePicker DTPEndDate;
+ private System.Windows.Forms.NumericUpDown NUDEndHour;
+ private System.Windows.Forms.NumericUpDown NUDEndMinute;
+ private System.Windows.Forms.Label label9;
+ private System.Windows.Forms.GroupBox groupBox1;
+ private System.Windows.Forms.DataGridView dataGridView1;
+ private System.Windows.Forms.Button btnSelect;
+ private System.Windows.Forms.Label label10;
+ private System.Windows.Forms.ComboBox cmbType;
+ }
+}
diff --git a/AuditoriumMS/UserControls/UCTicketSelect.cs b/AuditoriumMS/UserControls/UCTicketSelect.cs
new file mode 100644
index 0000000..b9df67f
--- /dev/null
+++ b/AuditoriumMS/UserControls/UCTicketSelect.cs
@@ -0,0 +1,46 @@
+using System;
+using System.Collections.Generic;
+using System.ComponentModel;
+using System.Drawing;
+using System.Data;
+using System.Linq;
+using System.Text;
+using System.Windows.Forms;
+
+namespace AuditoriumMS.UserControls
+{
+ public partial class UCTicketSelect : UserControl
+ {
+ public UCTicketSelect()
+ {
+ InitializeComponent();
+ this.cmbType.SelectedIndex = 0;
+ }
+
+ private void btnSelect_Click(object sender, EventArgs e)
+ {
+ DateTime BeginTime = this.DTPBeginDate.Value.Date;
+ BeginTime = BeginTime.AddHours((double)this.NUDBeginHour.Value);
+ BeginTime = BeginTime.AddMinutes((double)this.NUDBeginMinute.Value);
+ DateTime EndTime = this.DTPEndDate.Value.Date;
+ EndTime = EndTime.AddHours((double)this.NUDEndHour.Value);
+ EndTime = EndTime.AddMinutes((double)this.NUDEndMinute.Value);
+
+ string selectType;
+ if (this.cmbType.SelectedIndex == 0)
+ selectType = "";
+ else
+ selectType = string.Format("[类型] = '{0}' AND ", this.cmbType.SelectedItem as string);
+ string sql = string.Format("SELECT * FROM 礼堂表 WHERE {0} [开始时间] Between #{1}# AND #{2}#",
+ selectType, BeginTime.ToString("yyyy-MM-dd HH:mm:ss"), EndTime.ToString("yyyy-MM-dd HH:mm:ss"));
+ try
+ {
+ this.dataGridView1.DataSource = Access.obj.GetDataTable(sql);
+ }
+ catch (Exception ex)
+ {
+ MessageBox.Show(ex.Message, "错误", MessageBoxButtons.OK, MessageBoxIcon.Error);
+ }
+ }
+ }
+}
diff --git a/AuditoriumMS/UserControls/UCTicketSelect.resx b/AuditoriumMS/UserControls/UCTicketSelect.resx
new file mode 100644
index 0000000..29dcb1b
--- /dev/null
+++ b/AuditoriumMS/UserControls/UCTicketSelect.resx
@@ -0,0 +1,120 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ text/microsoft-resx
+
+
+ 2.0
+
+
+ System.Resources.ResXResourceReader, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089
+
+
+ System.Resources.ResXResourceWriter, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089
+
+
\ No newline at end of file
diff --git a/AuditoriumMS/UserControls/UCTicketStatistics.Designer.cs b/AuditoriumMS/UserControls/UCTicketStatistics.Designer.cs
new file mode 100644
index 0000000..cdb860a
--- /dev/null
+++ b/AuditoriumMS/UserControls/UCTicketStatistics.Designer.cs
@@ -0,0 +1,180 @@
+namespace AuditoriumMS.UserControls
+{
+ partial class UCTicketStatistics
+ {
+ ///
+ /// 必需的设计器变量。
+ ///
+ private System.ComponentModel.IContainer components = null;
+
+ ///
+ /// 清理所有正在使用的资源。
+ ///
+ /// 如果应释放托管资源,为 true;否则为 false。
+ protected override void Dispose(bool disposing)
+ {
+ if (disposing && (components != null))
+ {
+ components.Dispose();
+ }
+ base.Dispose(disposing);
+ }
+
+ #region 组件设计器生成的代码
+
+ ///
+ /// 设计器支持所需的方法 - 不要修改
+ /// 使用代码编辑器修改此方法的内容。
+ ///
+ private void InitializeComponent()
+ {
+ this.groupBox1 = new System.Windows.Forms.GroupBox();
+ this.dataGridView1 = new System.Windows.Forms.DataGridView();
+ this.btnStartStatistics = new System.Windows.Forms.Button();
+ this.DTPEndDate = new System.Windows.Forms.DateTimePicker();
+ this.DTPBeginDate = new System.Windows.Forms.DateTimePicker();
+ this.label1 = new System.Windows.Forms.Label();
+ this.label9 = new System.Windows.Forms.Label();
+ this.label2 = new System.Windows.Forms.Label();
+ this.label3 = new System.Windows.Forms.Label();
+ this.groupBox1.SuspendLayout();
+ ((System.ComponentModel.ISupportInitialize)(this.dataGridView1)).BeginInit();
+ this.SuspendLayout();
+ //
+ // groupBox1
+ //
+ this.groupBox1.Anchor = ((System.Windows.Forms.AnchorStyles)((((System.Windows.Forms.AnchorStyles.Top | System.Windows.Forms.AnchorStyles.Bottom)
+ | System.Windows.Forms.AnchorStyles.Left)
+ | System.Windows.Forms.AnchorStyles.Right)));
+ this.groupBox1.Controls.Add(this.dataGridView1);
+ this.groupBox1.Location = new System.Drawing.Point(3, 95);
+ this.groupBox1.Name = "groupBox1";
+ this.groupBox1.Size = new System.Drawing.Size(878, 436);
+ this.groupBox1.TabIndex = 0;
+ this.groupBox1.TabStop = false;
+ this.groupBox1.Text = "统计结果";
+ //
+ // dataGridView1
+ //
+ this.dataGridView1.AllowUserToAddRows = false;
+ this.dataGridView1.AllowUserToDeleteRows = false;
+ this.dataGridView1.Anchor = ((System.Windows.Forms.AnchorStyles)((((System.Windows.Forms.AnchorStyles.Top | System.Windows.Forms.AnchorStyles.Bottom)
+ | System.Windows.Forms.AnchorStyles.Left)
+ | System.Windows.Forms.AnchorStyles.Right)));
+ this.dataGridView1.ColumnHeadersHeightSizeMode = System.Windows.Forms.DataGridViewColumnHeadersHeightSizeMode.AutoSize;
+ this.dataGridView1.Location = new System.Drawing.Point(6, 22);
+ this.dataGridView1.Name = "dataGridView1";
+ this.dataGridView1.ReadOnly = true;
+ this.dataGridView1.RowTemplate.Height = 23;
+ this.dataGridView1.Size = new System.Drawing.Size(866, 408);
+ this.dataGridView1.TabIndex = 0;
+ //
+ // btnStartStatistics
+ //
+ this.btnStartStatistics.Anchor = ((System.Windows.Forms.AnchorStyles)((System.Windows.Forms.AnchorStyles.Top | System.Windows.Forms.AnchorStyles.Right)));
+ this.btnStartStatistics.Location = new System.Drawing.Point(755, 34);
+ this.btnStartStatistics.Name = "btnStartStatistics";
+ this.btnStartStatistics.Size = new System.Drawing.Size(120, 49);
+ this.btnStartStatistics.TabIndex = 37;
+ this.btnStartStatistics.Text = "开始统计";
+ this.btnStartStatistics.UseVisualStyleBackColor = true;
+ this.btnStartStatistics.Click += new System.EventHandler(this.btnStartStatistics_Click);
+ //
+ // DTPEndDate
+ //
+ this.DTPEndDate.Anchor = System.Windows.Forms.AnchorStyles.Top;
+ this.DTPEndDate.Location = new System.Drawing.Point(574, 60);
+ this.DTPEndDate.Margin = new System.Windows.Forms.Padding(3, 6, 3, 6);
+ this.DTPEndDate.Name = "DTPEndDate";
+ this.DTPEndDate.Size = new System.Drawing.Size(130, 23);
+ this.DTPEndDate.TabIndex = 35;
+ //
+ // DTPBeginDate
+ //
+ this.DTPBeginDate.Anchor = System.Windows.Forms.AnchorStyles.Top;
+ this.DTPBeginDate.Location = new System.Drawing.Point(252, 60);
+ this.DTPBeginDate.Margin = new System.Windows.Forms.Padding(3, 6, 3, 6);
+ this.DTPBeginDate.Name = "DTPBeginDate";
+ this.DTPBeginDate.Size = new System.Drawing.Size(130, 23);
+ this.DTPBeginDate.TabIndex = 36;
+ //
+ // label1
+ //
+ this.label1.Anchor = System.Windows.Forms.AnchorStyles.Top;
+ this.label1.AutoSize = true;
+ this.label1.Font = new System.Drawing.Font("微软雅黑", 10F);
+ this.label1.Location = new System.Drawing.Point(503, 61);
+ this.label1.Name = "label1";
+ this.label1.Size = new System.Drawing.Size(79, 20);
+ this.label1.TabIndex = 33;
+ this.label1.Text = "结束日期:";
+ //
+ // label9
+ //
+ this.label9.Anchor = System.Windows.Forms.AnchorStyles.Top;
+ this.label9.AutoSize = true;
+ this.label9.Font = new System.Drawing.Font("微软雅黑", 12F);
+ this.label9.Location = new System.Drawing.Point(412, 61);
+ this.label9.Name = "label9";
+ this.label9.Size = new System.Drawing.Size(68, 21);
+ this.label9.TabIndex = 32;
+ this.label9.Text = "<——>";
+ //
+ // label2
+ //
+ this.label2.Anchor = System.Windows.Forms.AnchorStyles.Top;
+ this.label2.AutoSize = true;
+ this.label2.Font = new System.Drawing.Font("微软雅黑", 10F);
+ this.label2.Location = new System.Drawing.Point(181, 61);
+ this.label2.Name = "label2";
+ this.label2.Size = new System.Drawing.Size(79, 20);
+ this.label2.TabIndex = 34;
+ this.label2.Text = "起始日期:";
+ //
+ // label3
+ //
+ this.label3.Anchor = System.Windows.Forms.AnchorStyles.Top;
+ this.label3.AutoSize = true;
+ this.label3.Font = new System.Drawing.Font("微软雅黑", 18F, System.Drawing.FontStyle.Bold, System.Drawing.GraphicsUnit.Point, ((byte)(134)));
+ this.label3.Location = new System.Drawing.Point(363, 9);
+ this.label3.Name = "label3";
+ this.label3.Size = new System.Drawing.Size(158, 31);
+ this.label3.TabIndex = 34;
+ this.label3.Text = "票务信息统计";
+ //
+ // UCTicketStatistics
+ //
+ this.AutoScaleDimensions = new System.Drawing.SizeF(7F, 17F);
+ this.AutoScaleMode = System.Windows.Forms.AutoScaleMode.Font;
+ this.Controls.Add(this.btnStartStatistics);
+ this.Controls.Add(this.DTPEndDate);
+ this.Controls.Add(this.DTPBeginDate);
+ this.Controls.Add(this.label1);
+ this.Controls.Add(this.label9);
+ this.Controls.Add(this.label3);
+ this.Controls.Add(this.label2);
+ this.Controls.Add(this.groupBox1);
+ this.Font = new System.Drawing.Font("微软雅黑", 9F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(134)));
+ this.Margin = new System.Windows.Forms.Padding(3, 4, 3, 4);
+ this.Name = "UCTicketStatistics";
+ this.Size = new System.Drawing.Size(884, 534);
+ this.groupBox1.ResumeLayout(false);
+ ((System.ComponentModel.ISupportInitialize)(this.dataGridView1)).EndInit();
+ this.ResumeLayout(false);
+ this.PerformLayout();
+
+ }
+
+ #endregion
+
+ private System.Windows.Forms.GroupBox groupBox1;
+ private System.Windows.Forms.DataGridView dataGridView1;
+ private System.Windows.Forms.Button btnStartStatistics;
+ private System.Windows.Forms.DateTimePicker DTPEndDate;
+ private System.Windows.Forms.DateTimePicker DTPBeginDate;
+ private System.Windows.Forms.Label label1;
+ private System.Windows.Forms.Label label9;
+ private System.Windows.Forms.Label label2;
+ private System.Windows.Forms.Label label3;
+ }
+}
diff --git a/AuditoriumMS/UserControls/UCTicketStatistics.cs b/AuditoriumMS/UserControls/UCTicketStatistics.cs
new file mode 100644
index 0000000..2becb98
--- /dev/null
+++ b/AuditoriumMS/UserControls/UCTicketStatistics.cs
@@ -0,0 +1,39 @@
+using System;
+using System.Collections.Generic;
+using System.ComponentModel;
+using System.Drawing;
+using System.Data;
+using System.Linq;
+using System.Text;
+using System.Windows.Forms;
+
+namespace AuditoriumMS.UserControls
+{
+ public partial class UCTicketStatistics : UserControl
+ {
+ public UCTicketStatistics()
+ {
+ InitializeComponent();
+ }
+
+ private void btnStartStatistics_Click(object sender, EventArgs e)
+ {
+ DateTime BeginDate = this.DTPBeginDate.Value.Date;
+ DateTime EndDate = this.DTPEndDate.Value.Date;
+
+ string sql = string.Format("SELECT LEFT([开始时间], 10) AS 日期,COUNT(*) AS 总场次," +
+ "SUM(IIF([类型] = '讲座', 1, 0)) AS 讲座场次, 总场次-讲座场次 AS 电影场次 " +
+ "FROM [礼堂表] " +
+ "WHERE [开始时间] Between #{0}# AND #{1}# GROUP BY LEFT([开始时间], 10)",
+ BeginDate, EndDate);
+ try
+ {
+ this.dataGridView1.DataSource = Access.obj.GetDataTable(sql);
+ }
+ catch (Exception ex)
+ {
+ MessageBox.Show(ex.Message, "错误", MessageBoxButtons.OK, MessageBoxIcon.Error);
+ }
+ }
+ }
+}
diff --git a/AuditoriumMS/UserControls/UCTicketStatistics.resx b/AuditoriumMS/UserControls/UCTicketStatistics.resx
new file mode 100644
index 0000000..29dcb1b
--- /dev/null
+++ b/AuditoriumMS/UserControls/UCTicketStatistics.resx
@@ -0,0 +1,120 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ text/microsoft-resx
+
+
+ 2.0
+
+
+ System.Resources.ResXResourceReader, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089
+
+
+ System.Resources.ResXResourceWriter, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089
+
+
\ No newline at end of file
diff --git a/AuditoriumMS/bin/x86/Debug/AuditoriumMS.exe b/AuditoriumMS/bin/x86/Debug/AuditoriumMS.exe
new file mode 100644
index 0000000000000000000000000000000000000000..e069deb88d97eaebe93b0102a1b9410464a126e7
GIT binary patch
literal 74752
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