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

📄 checkinreservation.aspx.cs

📁 酒店管理系统
💻 CS
📖 第 1 页 / 共 2 页
字号:
          
         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 + -