📄 checkinreservation.aspx.cs
字号:
using System;
using System.Data;
using System.Configuration;
using System.Collections;
using System.Web;
using System.Web.Security;
using System.Web.UI;
using System.Web.UI.WebControls;
using System.Web.UI.WebControls.WebParts;
using System.Web.UI.HtmlControls;
[Serializable]
public struct GroupMember
{
public string name;
public string credType;
public string credNo;
}
public partial class checkInReservation : System.Web.UI.Page
{
private ReservationOperater oper;
//private int curOrderId = -1;
//private bool isnewing;//是否正在添新用户中
protected void Page_Load(object sender, EventArgs e)
{
TextBox6.Visible = false;
checkbox1.AutoPostBack = true;
TextBox4.EnableViewState = true;
TextBox5.EnableViewState = true;
TextBox3.EnableViewState = true;
//isnewing = false;
oper = new ReservationOperater();
//是否正在操作指定定单,否则列出所有定单
if (ViewState["currentOrder"] == null)
{
button3.Visible = false;
listTheOrders();
showOrdersOnly(false);
}
else
{
button3.Visible = true;
showOrdersOnly(true);
//从viewstate里取出当前正在处理的定单号
int curOrderId = int.Parse(ViewState["currentOrder"].ToString());
//通过定单号取出定单信息
OrderInfo theOrder = (OrderInfo)ViewState[curOrderId.ToString()];
fillInBlank(theOrder);
listTheRooms(theOrder.id);
}
if(ViewState["entertime"]!=null)
{
TextBox4.Text = ((DateTime)ViewState["entertime"]).Date.ToString();
}
if (ViewState["leavetime"] != null)
{
TextBox5.Text = ((DateTime)ViewState["leavetime"]).Date.ToString();
}
if (ViewState["members"] != null)
{
ArrayList memberlist = (ArrayList)ViewState["members"];
int i = 0;
foreach (GroupMember amember in memberlist)
{
addAentityMemberRow(amember,i);
i++;
}
}
if (ViewState["newing"] != null)
{
if ((bool)ViewState["newing"] == true)
{
addANewMemberRow("","",0);
}
}
if (ViewState["modifying"] != null)
{
if ((int)ViewState["modifying"] != -1)
{
int itemindex = (int)ViewState["modifying"];
modifyARow(itemindex);
}
}
}
protected void LinkButton1_Click(object sender, EventArgs e)
{
if (ViewState["modifying"] != null)
{
if ((int)ViewState["modifying"] != -1)
{
TextBox6.Visible = true;
TextBox6.Text = "Complete your job before submit!!";
return;
}
}
if (ViewState["newing"] != null)
{
if ((bool)ViewState["newing"] == true)
{
TextBox6.Visible = true;
TextBox6.Text = "Complete your job before submit!!";
return;
}
}
if (checkbox1.Checked == false)
{
submitAClient();
}
else
{
submitGroup();
}
}
//对于散客
protected void submitAClient()
{
string name = TextBox1.Text;
string id = TextBox2.Text;
string phoneNo=TextBox3.Text;
ArrayList rooms=getRoomList();
double deposit;
if (name == "" || (id.Length != 18 && id.Length != 15))
{
TextBox6.Visible = true;
TextBox6.Text = "信息不完整哦,或者身份证号码不对啊";
return;
}
try
{
decimal.Parse(id);
}
catch(Exception e)
{
TextBox6.Visible = true;
TextBox6.Text = "拜托认真点啦!";
return;
}
if (rooms == null)
{
TextBox6.Visible = true;
TextBox6.Text = "有问题...";
return;
}
if (rooms.Count==0)
{
TextBox6.Visible = true;
TextBox6.Text = "一个房间都没定,怎么住呢?";
return;
}
try
{
decimal.Parse(phoneNo);
if(phoneNo.Length<6)
{
TextBox6.Visible = true;
TextBox6.Text = "作为电话号码,也太短了吧...";
return;
}
}
catch(Exception e)
{
TextBox6.Visible = true;
TextBox6.Text = "你家电话号码太高级了吧?!";
return;
}
try
{
deposit=(double)(int.Parse(TextBox7.Text));
}
catch(Exception e)
{
TextBox6.Visible = true;
TextBox6.Text = "不付压金是不能住的?";
return;
}
string[] client=new string[3];
DateTime startTime=DateTime.Parse(TextBox4.Text);
DateTime endTime=DateTime.Parse(TextBox5.Text);
client[0]=name;
client[1]=id;
client[2]=phoneNo;
/////////////关键2//////////
if(oper.addToClientInfo(client)<0)
return;
/////////////关键3///////////////////////
if(oper.addPersonToStayInfo(rooms, id, startTime, endTime, deposit)<0)
return;
//////////////////////////////////////////
int orderid=int.Parse(ViewState["currentOrder"].ToString());
/////////关键1////////////
if(oper.DeleteAnOrder(orderid)!=true)
return;
/////////////////////
Response.Redirect("successPage.aspx");
}
//对于团队
protected void submitGroup()
{
string groupname = TextBox10.Text;
string phoneNo = TextBox3.Text;
ArrayList rooms = getRoomList();
ArrayList members = getMembersList();
double deposit;
if (phoneNo.Length < 6)
{
TextBox6.Visible = true;
TextBox6.Text = "电话号码没这么短吧?";
return;
}
try
{
decimal.Parse(phoneNo);
}
catch (Exception e)
{
TextBox6.Visible = true;
TextBox6.Text = "你家电话号码太高级了吧?!";
return;
}
if (rooms == null||members==null)
{
TextBox6.Visible = true;
TextBox6.Text = "有问题....";
return;
}
if (rooms.Count == 0)
{
TextBox6.Visible = true;
TextBox6.Text = "一个房间都没确认呢!";
return;
}
if (members.Count == 0)
{
TextBox6.Visible = true;
TextBox6.Text = "无人团??";
return;
}
try
{
deposit = (double)(int.Parse(TextBox7.Text));
}
catch (Exception e)
{
TextBox6.Visible = true;
TextBox6.Text = "不付压金是不能住的?";
return;
}
DateTime startTime = DateTime.Parse(TextBox4.Text);
DateTime endTime = DateTime.Parse(TextBox5.Text);
///////////////////关键1
if (oper.addGroupPersonInfo(members, groupname, startTime, endTime) < 0)
{
return;
}
////////////////////////关键2
if (oper.addGroupToStayInfo(rooms, groupname, startTime, endTime, deposit) < 0)
{
return;
}
////////////关键3
if (oper.DeleteAnOrder(int.Parse(ViewState["currentOrder"].ToString())) !=true)
{
return;
}
Response.Redirect("successPage.aspx");
}
/// <summary>
/// 是否是团队选择
/// </summary>
/// <param name="sender"></param>
/// <param name="e"></param>
protected void checkbox1_CheckedChanged(object sender, EventArgs e)
{
CheckBox mysender = (CheckBox)sender;
setGroup(mysender.Checked);
}
/// <summary>
/// 设置是否团队
/// </summary>
/// <param name="fal"></param>
protected void setGroup(bool val)
{
Label8.Visible = val;
TextBox10.Visible = val;
LinkButton3.Visible = val;
Table3.Visible = val;
checkbox1.Checked = val;
TextBox1.Visible = !val;
Label1.Visible = !val;
Label2.Visible = !val;
TextBox2.Visible = !val;
//Label3.Visible = !val;
DropDownList1.Visible = !val;
}
/// <summary>
/// 按纽添加新团队成员事件
/// </summary>
/// <param name="sender"></param>
/// <param name="e"></param>
protected void LinkButton3_Click(object sender, EventArgs e)
{
//若正在填新用户资料则什么都不做
if (ViewState["newing"] != null)
{
if ((bool)ViewState["newing"] == true)
return;
}
//正在修改也什么都不做
if (ViewState["modifying"] != null)
{
if ((int)ViewState["modifying"] != -1)
return;
}
addANewMemberRow("","",0);
ViewState["newing"] = true;
}
/// <summary>
/// 望表中加一行,由文本框组成的./供新建时填写或修改时填写
/// </summary>
void addANewMemberRow(string name,string id,int idtype)
{
TableRow arow;
arow = new TableRow();
Table3.Rows.Add(arow);
TableCell nameCell = new TableCell();
TextBox nameBlank = new TextBox();
nameBlank.Width = new Unit(100);
nameBlank.Text = name;
nameCell.Controls.Add(nameBlank);
arow.Cells.Add(nameCell);
TableCell IDCell = new TableCell();
TextBox idBlank = new TextBox();
idBlank.Width = new Unit(150);
idBlank.Text = id;
IDCell.Controls.Add(idBlank);
arow.Cells.Add(IDCell);
TableCell IDTypeCell = new TableCell();
DropDownList typeselecter = new DropDownList();
typeselecter.Items.Add("身份证");
//typeselecter.Items.Add("护照");
typeselecter.SelectedIndex = idtype;
IDTypeCell.Controls.Add(typeselecter);
arow.Cells.Add(IDTypeCell);
TableCell submitButton = new TableCell();
LinkButton aButton = new LinkButton();
aButton.Text = "提交";
aButton.ID = "sub"+id;
//把动态控件对应的人员的身份证号码放在id字段里,并加sub标记
//(因为动态控件删除,编辑,都采用了这种方法)
aButton.Click += new EventHandler(aButton_Click);
submitButton.Controls.Add(aButton);
arow.Cells.Add(submitButton);
}
/// <summary>
/// 往表中加一行,不可更改行.
/// </summary>
/// <param name="amember"></param>
void addAentityMemberRow(GroupMember amember,int index)
{
TableRow newrow = new TableRow();
Table3.Rows.Add(newrow);
TableCell newcell;
newcell = new TableCell();
newcell.Text = amember.name;
newrow.Cells.Add(newcell);
newcell = new TableCell();
newcell.Text = amember.credNo;
newrow.Cells.Add(newcell);
newcell = new TableCell();
newcell.Text = " "+amember.credType+" ";
newrow.Cells.Add(newcell);
newcell = new TableCell();
LinkButton deletebut = new LinkButton();
deletebut.Text = "删除";
deletebut.Click += new EventHandler(deletebut_Click);
deletebut.ID = "del"+amember.credNo;//利用字段指明动态构件对应的对象索引.
deletebut.ToolTip = index.ToString();
newcell.Controls.Add(deletebut);
newrow.Cells.Add(newcell);
newcell = new TableCell();
LinkButton modifybut = new LinkButton();
modifybut.Text = "修改";
modifybut.Click += new EventHandler(modifybut_Click);
modifybut.ID ="mod"+amember.credNo;
modifybut.ToolTip = index.ToString();
newcell.Controls.Add(modifybut);
newrow.Cells.Add(newcell);
}
/// <summary>
/// 提交:新团体成员 或修改
/// </summary>
/// <param name="sender"></param>
/// <param name="e"></param>
void aButton_Click(object sender, EventArgs e)
{
LinkButton mysender = (LinkButton)sender;
int itemindex=-1;
//if (mysender.ID == "sub") //新用户
itemindex = Table3.Rows.Count - 1;//新用户记录编号
/*
else
{
itemindex = (int)ViewState["modifying"];
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -