📄 checkinreservation.aspx.cs
字号:
if (itemindex == -1)//有问题
return;
*/
TextBox namebox = (TextBox)Table3.Rows[itemindex].Cells[0].Controls[0];
TextBox credNObox = (TextBox)Table3.Rows[itemindex].Cells[1].Controls[0];
DropDownList credTypelist = (DropDownList)Table3.Rows[itemindex].Cells[2].Controls[0];
GroupMember amember = new GroupMember();
amember.name = namebox.Text;
amember.credNo = credNObox.Text;
amember.credType = credTypelist.SelectedIndex == 0 ? "身份证" : "护照";
try
{
decimal.Parse(credNObox.Text);
}
catch (Exception eee)
{
return;
}
if (namebox.Text == "")
return;
//原先行删掉并插入新行(用文字来记录)
Table3.Rows.RemoveAt(itemindex);
//记录状态
if (ViewState["members"] == null)
ViewState["members"] = new ArrayList();
if (ViewState["todelete"] != null)
{
RemoveAMember(int.Parse((string)ViewState["todelete"]));
ViewState["todelete"] = null;
}
///////////////////////////////////////////////////
// ((ArrayList)ViewState["members"]).Add(amember);
int index=((ArrayList)ViewState["members"]).Add(amember);
addAentityMemberRow(amember,index);//添加新行
ViewState["newing"] = false;
ViewState["modifying"] = -1;
//isnewing=false;
}
//从状态里删掉行对应的成员,加一行新的进去.
void modifyARow(int itemindex)
{
GroupMember amember = new GroupMember();
amember.name = Table3.Rows[itemindex].Cells[0].Text;
amember.credNo = Table3.Rows[itemindex].Cells[1].Text;
amember.credType = Table3.Rows[itemindex].Cells[2].Text;
int type = (amember.credType.Equals(" 身份证 ")) ? 0 : 1;
ViewState["memberInfo"] = amember;
Table3.Rows.RemoveAt(itemindex);
addANewMemberRow(amember.name, amember.credNo, type);
}
//修改按纽
void modifybut_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;//不能修改2行以上
}
}
LinkButton mysender = (LinkButton)sender;
int itemindex = -1;
for(int i=0;i<Table3.Rows.Count;i++)
{
if(("mod"+Table3.Rows[i].Cells[1].Text)==mysender.ID)
itemindex=i;
}
if (itemindex == -1)
{
return;
}
ViewState["modifying"] = itemindex;
ViewState["todelete"] = mysender.ToolTip;
modifyARow(itemindex);
//throw new Exception("The method or operation is not implemented.");
}
//删除一个队员
void RemoveAMember(int itemindex)
{
//确保修改时不能做删除动作.
if(ViewState["moifying"]!=null)
{
if ((int)ViewState["moifying"] != -1)
return;
}
//添加时也不能
if(ViewState["newing"]!=null)
{
if ((bool)ViewState["newing"] == true)
return;
}
((ArrayList)ViewState["members"]).RemoveAt(itemindex);
}
void deletebut_Click(object sender, EventArgs e)
{
LinkButton mysender = (LinkButton)sender;
int memindex=int.Parse(mysender.ToolTip);
RemoveAMember(memindex); //删除状态记录
int itemindex=-1;
//删除表中的一行.
for (int i = 0; i < Table3.Rows.Count; i++)
{
if (("del" + Table3.Rows[i].Cells[1].Text) == mysender.ID)
itemindex = i;
}
if (itemindex == -1)
return;
Table3.Rows.RemoveAt(itemindex);
//throw new Exception("The method or operation is not implemented.");
}
/// <summary>
/// 用定单对象填充页面元素
/// </summary>
/// <param name="theOrder"></param>
protected void fillInBlank(OrderInfo theOrder)
{
//若是团队则是单位,否则是姓名
TextBox10.Text = theOrder.cusName;
TextBox1.Text = theOrder.cusName;
//TextBox3.Text = theOrder.contact;
setGroup(theOrder.isGroup);
DateTime entertime = DateTime.Parse(theOrder.enterTime);
TextBox4.Text=entertime.Date.ToString();
DateTime leavetime=DateTime.Parse(theOrder.leaveTime);
TextBox5.Text = leavetime.Date.ToString();
}
/// <summary>
/// 列出定单
/// </summary>
protected void listTheOrders()
{
ArrayList orderlist = oper.GetAllOrder();
TableRow arow;
if (orderlist == null)
return;
foreach (OrderInfo anOrder in orderlist)
{
arow = new TableRow();
Table1.Rows.Add(arow);
TableCell nameCell = new TableCell();
nameCell.Text = anOrder.cusName;
arow.Cells.Add(nameCell);
TableCell contactCell = new TableCell();
contactCell.Text = anOrder.contact;
arow.Cells.Add(contactCell);
TableCell entertimeCell = new TableCell();
entertimeCell.Text = anOrder.contact;
arow.Cells.Add(entertimeCell);
TableCell isgroupCell = new TableCell();
isgroupCell.Text = anOrder.isGroup?"是":"否";
arow.Cells.Add(isgroupCell);
TableCell enterButton = new TableCell();
LinkButton aButtonforEnter = new LinkButton();
aButtonforEnter.Text = "入住";
//把定单号存在注释里,方便取出
aButtonforEnter.ToolTip = anOrder.id.ToString();
enterButton.Controls.Add(aButtonforEnter);
arow.Cells.Add(enterButton);
//保存定单号与详细定单的一对一关系
if (ViewState[anOrder.id.ToString()] == null)
{
try
{
ViewState[anOrder.id.ToString()] = anOrder;
}
catch (Exception ee)
{
TextBox6.Text=ee.Message;
}
}
aButtonforEnter.Click += new EventHandler(aButtonforEnter_Click);
}
}
protected void listTheRooms(int curOrderId)
{
if (curOrderId == -1)
return;
ArrayList roomlist = oper.getRoomListForEngage(curOrderId);
if (roomlist == null)
return;
TableRow arow;
foreach (HotelRoomInfo aRoom in roomlist)
{
arow = new TableRow();
Table2.Rows.Add(arow);
TableCell NOcell = new TableCell();
NOcell.Text = aRoom.roomNO.ToString();
arow.Cells.Add(NOcell);
TableCell typeCell = new TableCell();
typeCell.Text = aRoom.roomtype;
arow.Cells.Add(typeCell);
TableCell priceCell = new TableCell();
priceCell.Text = (aRoom.roomPrice).ToString();
arow.Cells.Add(priceCell);
TableCell checkBox = new TableCell();
CheckBox insureRoom=new CheckBox();
insureRoom.EnableViewState = true;
//insureRoom.AutoPostBack = true;
//insureRoom.CheckedChanged += new EventHandler(insureRoom_CheckedChanged);
checkBox.Controls.Add(insureRoom);
arow.Cells.Add(checkBox);
Table2.Rows.Add(arow);
}
}
void insureRoom_CheckedChanged(object sender, EventArgs e)
{
//throw new Exception("The method or operation is not implemented.");
}
/// <summary>
/// 是否只显示定单
/// </summary>
/// <param name="fal">为false时只显示定单</param>
void showOrdersOnly(bool fal)
{
button3.Visible = fal;
//button3.Visible = true;
Label1.Visible = fal;
TextBox1.Visible = fal;
Label2.Visible = fal;
//Label3.Visible = fal;
Label4.Visible = fal;
Label5.Visible = fal;
Label6.Visible = fal;
Label8.Visible = fal;
TextBox2.Visible = fal;
TextBox3.Visible = fal;
Button4.Visible = fal;
Button5.Visible = fal;
TextBox10.Visible = fal;
TextBox5.Visible = fal;
TextBox4.Visible = fal;
Table3.Visible = fal;
LinkButton1.Visible = fal;
LinkButton2.Visible = fal;
LinkButton3.Visible = fal;
TextBox7.Visible = fal;
Label3.Visible = fal;
Button1.Visible = fal;
Label7.Visible = fal;
if (fal == false)
{
Table2.Visible = fal;
}
//
checkbox1.Visible = fal;
DropDownList1.Visible = fal;
Table1.Visible = !fal;
}
/// <summary>
/// 每个定单后面的按钮,按下时启动该定单的详细确认.
/// </summary>
/// <param name="sender"></param>
/// <param name="e"></param>
void aButtonforEnter_Click(object sender, EventArgs e)
{
LinkButton mysender=(LinkButton)sender;
//把当前在处理的定单号放入viewstate保存.
ViewState["currentOrder"] = mysender.ToolTip;
//从viewstate里取出当前正在处理的定单号
//int curOrderId = int.Parse(ViewState["currentOrder"].ToString());
//通过定单号取出定单信息
//ViewState["firsttime"] = true;
//this.OnLoad(e);
//Page_Load(sender, e);
//Response.Redirect("checkInReservation.aspx");
OrderInfo theOrder = (OrderInfo)ViewState[mysender.ToolTip];/*curOrderId.ToString()]*/
showOrdersOnly(true);
fillInBlank(theOrder);
TextBox3.Text = theOrder.contact;
//listTheRooms(theOrder.id);
}
//修改入住日期//只能往下修改
protected void Button1_Click(object sender, EventArgs e)
{
DateTime entertime;
DateTime leavetime = DateTime.Parse(TextBox5.Text);
if (ViewState["entertime"] == null)
{
entertime = DateTime.Parse(TextBox4.Text);
}
else
{
entertime = (DateTime)ViewState["entertime"];
}
if ((entertime.AddDays(1.0)).CompareTo(leavetime)==0)
return;
entertime = entertime.AddDays(1.0);
ViewState["entertime"] = entertime;
TextBox4.Text = entertime.Date.ToString();
}
//修改离开日期,只能往上修改
protected void Button2_Click(object sender, EventArgs e)
{
DateTime leavetime;
DateTime entertime = DateTime.Parse(TextBox4.Text);
if (ViewState["leavetime"] == null)
{
leavetime = DateTime.Parse(TextBox5.Text);
}
else
{
leavetime = (DateTime)ViewState["leavetime"];
}
if ((leavetime.AddDays(-1.0)).CompareTo(entertime)==0)
return;
leavetime=leavetime.AddDays(-1.0);
ViewState["leavetime"] = leavetime;
TextBox5.Text = leavetime.Date.ToString();
}
protected void button3_Click(object sender, EventArgs e)
{
Table2.Visible = true;
}
/// <summary>
/// 返回为string[]的arraylist.[0]--name.[1]--id.[2]--type
/// </summary>
/// <returns></returns>
protected ArrayList getMembersList()
{
if (checkbox1.Checked == false)
return null;
ArrayList members=new ArrayList();
string[] amem;
for (int i = 1; i < Table3.Rows.Count; i++)
{
amem = new string[3];
amem[0]=Table3.Rows[i].Cells[0].Text; //name
amem[1] = Table3.Rows[i].Cells[1].Text; //id
amem[2] = Table3.Rows[i].Cells[2].Text; //idtype
members.Add(amem);
}
if (members.Count == 0)
return null;
return members;
}
/// <summary>
/// 返回房间号列表
/// </summary>
/// <returns></returns>
protected ArrayList getRoomList()
{
ArrayList roomlist=new ArrayList();
int count = Table2.Rows.Count-1;
if (count == 0)
return null;
for (int i = count; i > 0; i--)
{
if (((CheckBox)Table2.Rows[i].Cells[3].Controls[0]).Checked == true)
{
roomlist.Add(Table2.Rows[i].Cells[0].Text);
}
}
return roomlist;
}
protected void Button1_Click1(object sender, EventArgs e)
{
int count = Table2.Rows.Count - 1;
int price=0;
if (count == 0)
return;
for (int i = count; i > 0; i--)
{
if (((CheckBox)Table2.Rows[i].Cells[3].Controls[0]).Checked == true)
{
price+=int.Parse(Table2.Rows[i].Cells[2].Text);
}
}
DateTime entertime = DateTime.Parse(TextBox4.Text);
DateTime leavetime = DateTime.Parse(TextBox5.Text);
int exp=leavetime.DayOfYear-entertime.DayOfYear;
price *= exp;
Label3.Text = price.ToString();
}
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -