# 01 介绍
一个有会员制的电影院购票系统。具有会员注册功能,可区分会员和散客两种身份,实现会员及折扣管理。购票具有挑选电影场次,选择座位和查看电影信息等功能。
- 查看电影详情、获取排片信息。
- 选择场次座位,完成支付,获取取票信息。
- 注册成为影院会员,享受优惠折扣。
![](https://upload-images.jianshu.io/upload_images/10386940-ccca49013103e612.png?imageMogr2/auto-orient/strip%7CimageView2/2/w/1240)
![](https://upload-images.jianshu.io/upload_images/10386940-5e98b3d7421fd2e7.png?imageMogr2/auto-orient/strip%7CimageView2/2/w/1240)
![](https://upload-images.jianshu.io/upload_images/10386940-5117b6f7fc65dad3.png?imageMogr2/auto-orient/strip%7CimageView2/2/w/1240)
![](https://upload-images.jianshu.io/upload_images/10386940-230f05b0d09e1e52.png?imageMogr2/auto-orient/strip%7CimageView2/2/w/1240)
# 代码获取
**关注我们的公众号!在后台回复【CSTK】不包括【】即可获取。**
![](http://upload-images.jianshu.io/upload_images/10386940-ba0c519723650398.jpg?imageMogr2/auto-orient/strip%7CimageView2/2/w/1240)
# 02 设计思路
在功能设计上,一个电影院购票系统,首先需要具备最基础的功能:影片选择、场次选择和座位选择。在用户提交选择后,会需要支付模块提示用户付款并完成出票。为了吸引用户,我们增加了会员的注册和登录模块,为会员用户提供折扣。
注册与购票的支付我们的处理是预留一个接口,当做简单模拟,实际使用可以调用支付宝或微信的支付接口。
在界面设计上,我们为系统添加了好看的背景图片。通过Detail栏展示用户信息与折扣,通过Hot Movie栏在最吸引眼球展示热映电影的海报,提高用户的购买欲望。最后,作为主要部分的座位选择栏简介明了,座位之间间隔明显,有效的防止用户错误操作。
# 03 具体设计
通过三层架构来完成影院购票系统的开发,将真个业务应用划分为:界面层(UI层)、业务逻辑层(BLL层)、数据访问层(DAL层)。对于复杂的系统分层让结构清晰,便于对系统进行整体的理解、把握;而且便于维护,将各部分之间的相互影响的程度降低到最小,系统基本的架构可以通过工具自动生成代码。当数据库发生改变时,只用重新生成代码,改动业务逻辑层的部分代码即可。在实施的过程中,难点在于将三层结构进行划分,掌握各层之间的设计思路以及调用关系,下面内容就结合代码展示具体实现过程。
**1) Model层( 封装数据,使数据在三层中传输)**
例如Movie:
```C#
namespace Model
{
public class Movie
{
[Key]
public int MovieID { get; set; }
public string MovieName{ get; set; } /// 电影名称
public string Actor { get; set; } /// 主演
public string Director { get; set; }/// 导演名
public int Duration { get; set; } //时长
public string MovieType { get; set; }/// 电影类型
public string Poster{ get; set; } /// 海报图片名
}
}
```
**2) DAL层(提供基本的数据访问)**
实现代码(以Movies为例):
```C#
namespace DAL
{
public class MovieDAL
{
public static List<Movie> GetAllMovies()
{
var MoviesQuery = from m in CinemaDbContext.CDbContext.Movies
select m;
return MoviesQuery.ToList();
}
public static Movie GetMovieByMovieID(int mID)
{
return CinemaDbContext.CDbContext.Movies.Find(mID);
}
}
}
```
**3) BLL层(负责处理业务逻辑,在本次的系统开发中,包括了与用户和影票信息相关的处理)**
实现代码(以TicketBLL为例):
```C#
namespace BLL
{
public class TicketBLL
{
public static bool AddTickets(List<Ticket> tickets)
{
return true;
}
}
}
```
**4) UI层(负责显示和采集用户操作)**
系统总共包含五个界面,分别为:用户登录界面、用户注册界面、影院主页、票务信息确认界面以及支付界面。同时,使用Winform皮肤插件来实现对系统界面整体风格的把控。下面将以界面的为单位来对其实现过程进行描述:
- **用户登录界面**
用户将身份信息写入文本框后,用其输入的信息创建新的customer对象,通过调用BLL层的功能将输入内容与用户信息比对,最后用判断语句激活弹窗反馈登陆结果,登陆成功后进入到售票系统首页。
```C#
private void button1_Click(object sender, EventArgs e)
{
Customer cLogin = new Customer
{
UserName = this.textBox1.Text,
PassWord = this.textBox2.Text
};
if (CustomerBLL.Login(cLogin))
{
MessageBox.Show("登录成功");
MainForm mainForm = new MainForm();
mainForm.customerVIP = cLogin;
mainForm.Show();
this.Visible = false;
}
else
{
MessageBox.Show("登录失败");
}
}
```
同时,用户可以点击注册按钮,跳转到注册界面完成新用户的注册。
```C#
private void button3_Click(object sender, EventArgs e)
{
UserRegisterForm userRegisterForm = new UserRegisterForm();
userRegisterForm.Show();
this.Visible = false;
}
```
- **用户注册界面**
用户将身份信息写入文本框后,用其输入的信息创建新的customer对象,通过调用BLL层的服务将新的用户信息写入数据库,最后用判断语句激活弹窗对注册结果予以反馈。
```C#
private void button1_Click(object sender, EventArgs e)
{
PayForm payform = new PayForm(true);
payform.ShowDialog();
//Thread.Sleep(7000);
//payform.Visible = false;
Customer cRegister = new Customer
{
UserName = this.textBox1.Text,
PassWord = this.textBox2.Text
};
if (CustomerBLL.Register(cRegister))
{
MessageBox.Show("注册成功");
UserLoginForm userLoginForm = new UserLoginForm();
userLoginForm.Show();
this.Visible = false;
}
else
{
MessageBox.Show("注册失败");
}
}
```
- **排片详情获取**
```C#
/// <summary>
/// 初始化TreeView控件
/// </summary>
private void InitTreeView()
{
tvMovies.BeginUpdate();
tvMovies.Nodes.Clear();
TreeNode movieNode = null;
foreach(Movie m in MovieDAL.GetAllMovies())
{
movieNode = new TreeNode(m.MovieName);
tvMovies.Nodes.Add(movieNode);
foreach (Schedule s in ScheduleDAL.GetSchedulesByMovieID(m.MovieID))
{
TreeNode timeNode = new TreeNode(s.DateTime);
timeNode.Name = s.ScheduleID.ToString();
movieNode.Nodes.Add(timeNode);
}
}
tvMovies.EndUpdate();
}
```
- **影厅初始化**
```C#
/// <summary>
/// 初始化放映厅座位
/// </summary>
/// <param name="seatRow">行数</param>
/// <param name="seatCol">列数</param>
/// <param name="tb"></param>
//普通厅放映
private void InitSeatsCheckBox(int seatRow, int seatCol, TabPage tb, Dictionary<string, CheckBox> ckBox, Dictionary<string, Seat> cSeats)
{
CheckBox checkBox;
Seat seat;
没有合适的资源?快使用搜索试试~ 我知道了~
C#开发的电影售票系统相关代码、设计资料.zip
共49个文件
cs:31个
resx:6个
csproj:4个
1 下载量 69 浏览量
2023-11-08
22:30:02
上传
评论
收藏 139KB ZIP 举报
温馨提示
C#开发的电影售票系统相关代码、设计资料 C#开发的电影售票系统相关代码、设计资料 C#开发的电影售票系统相关代码、设计资料 C#开发的电影售票系统相关代码、设计资料 C#开发的电影售票系统相关代码、设计资料 C#开发的电影售票系统相关代码、设计资料 C#开发的电影售票系统相关代码、设计资料 C#开发的电影售票系统相关代码、设计资料 C#开发的电影售票系统相关代码、设计资料 C#开发的电影售票系统相关代码、设计资料 C#开发的电影售票系统相关代码、设计资料 C#开发的电影售票系统相关代码、设计资料 C#开发的电影售票系统相关代码、设计资料 C#开发的电影售票系统相关代码、设计资料 C#开发的电影售票系统相关代码、设计资料 C#开发的电影售票系统相关代码、设计资料 C#开发的电影售票系统相关代码、设计资料 C#开发的电影售票系统相关代码、设计资料 C#开发的电影售票系统相关代码、设计资料 C#开发的电影售票系统相关代码、设计资料
资源推荐
资源详情
资源评论
收起资源包目录
C#开发的电影售票系统.zip (49个子文件)
CinemaTickets-master
.gitattributes 2KB
MyCinema
TicketForm.resx 6KB
ClassDiagram1.cd 3KB
UserRegisterForm.resx 79KB
packages.config 137B
MainForm.resx 6KB
PayForm.Designer.cs 3KB
UserLoginForm.Designer.cs 9KB
TicketForm.cs 2KB
MainForm.Designer.cs 37KB
UserLoginForm.cs 2KB
TicketForm.Designer.cs 5KB
UserLoginForm.resx 60KB
Properties
Resources.Designer.cs 3KB
app.config 160B
Settings.Designer.cs 1KB
Settings.settings 242B
AssemblyInfo.cs 1KB
Resources.resx 5KB
MainForm.cs 14KB
Program.cs 504B
UserRegisterForm.cs 2KB
PayForm.cs 1000B
PayForm.resx 6KB
UserRegisterForm.Designer.cs 7KB
UI.csproj 8KB
Model
CinemaDbContext.cs 1KB
Movie.cs 656B
Schedule.cs 447B
Properties
AssemblyInfo.cs 1KB
Ticket.cs 529B
Customer.cs 402B
Hall.cs 359B
Model.csproj 3KB
Seat.cs 712B
MyCinema.sln 3KB
BLL
CustomerBLL.cs 600B
BLL.csproj 3KB
Properties
AssemblyInfo.cs 1KB
TicketBLL.cs 295B
.gitignore 3KB
README.md 31KB
DAL
ScheduleDAL.cs 655B
CustomerDAL.cs 796B
MovieDAL.cs 553B
Properties
AssemblyInfo.cs 1KB
TicketDAL.cs 1KB
HallDAL.cs 922B
DAL.csproj 3KB
共 49 条
- 1
资源评论
辣椒种子
- 粉丝: 3425
- 资源: 5723
上传资源 快速赚钱
- 我的内容管理 展开
- 我的资源 快来上传第一个资源
- 我的收益 登录查看自己的收益
- 我的积分 登录查看自己的积分
- 我的C币 登录后查看C币余额
- 我的收藏
- 我的下载
- 下载帮助
安全验证
文档复制为VIP权益,开通VIP直接复制
信息提交成功