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

📄 checkinreservation.aspx.cs

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