예제 #1
0
        private void dgvOrder_SelectionChanged(object sender, EventArgs e)
        {
            order = null;
            if (dgvOrder.SelectedRows.Count != 1)
            {
                return;
            }
            int index = dgvOrder.SelectedRows[0].Index;

            order          = db.RoomOrder.ToList().Where(x => x.PaymentMethodNo == null).ToList().ElementAt(index);
            lstOrderDetail = db.RoomOrderDetail.ToList().Where(x => x.RoomOrderNo == order.RoomOrderNo).ToList();
            lstRooms       = lstOrderDetail.Select(x => x.Room).ToList();
            var checkRecord = db.CheckInRecord.ToList().SingleOrDefault(x => x.RoomOrderNo == order.RoomOrderNo);

            if (checkRecord != null)
            {
                btnCheckIn.Enabled  = false;
                btnCheckOut.Enabled = true;
            }
            else
            {
                btnCheckIn.Enabled  = true;
                btnCheckOut.Enabled = false;
            }

            txtTicket.Text = order.TicketId == null ? "" : order.TicketId;
            txtCoupon.Text = order.CouponId == null ? "" : order.CouponId;

            Global.OrderRecord = order;

            lstRoomId.DataSource    = lstRooms;
            lstRoomId.DisplayMember = "RoomId";
        }
예제 #2
0
        public void DataRefresh(RoomOrder rOrder)
        {
            gbTicket.BringToFront();
            db        = new DisneyDataDataContext();
            step      = 0;
            lstGroup  = new List <GroupBox>();
            lstTicket = new List <Ticket>();
            dateType  = GetDateType();
            roomOrder = rOrder;
            account   = null;
            order     = null;

            lstGroup.Add(gbTicket);
            lstGroup.Add(gbTIcketInfo);
            lstGroup.Add(gbOrderDetail);
            lstGroup.Add(gbTicketDetail);
            lstGroup.Add(gbPayMethod);

            rbDay.Checked               = true;
            dtpVisit.MinDate            = DateTime.Today;
            dtpVisit.Value              = DateTime.Today;
            cboAnnualType.SelectedIndex = 0;

            cboPayMethod.DataSource    = db.PaymentMethod;
            cboPayMethod.DisplayMember = "Method";

            panelCredit.Visible = false;

            gbSignin.BringToFront();
        }
예제 #3
0
파일: Book.aspx.cs 프로젝트: zxetb/TlrHotel
        private void SubmitRoomOrder()
        {
            if (this.tbCheckInTime.Text.Trim().Length == 0)
            {
                ShowMessageAlert("请选择预计入住时间!");
                return;
            }
            if (this.tbCheckOutTime.Text.Trim().Length == 0)
            {
                ShowMessageAlert("请选择预计退房时间!");
                return;
            }
            if (this.ddlRoomType.SelectedIndex == -1)
            {
                ShowMessageAlert("请选择房间类型!");
                return;
            }
            if (this.txtCustomerName.Text.Trim().Length == 0)
            {
                ShowMessageAlert("请输入预订人姓名!");
                return;
            }
            if (this.txtPhoneNumber.Text.Trim().Length == 0)
            {
                ShowMessageAlert("请输入联系电话!");
                return;
            }
            if (this.txtValidateCode.Text.Trim().Length == 0)
            {
                ShowMessageAlert("请输入验证码!");
                return;
            }
            if (this.txtValidateCode.Text.Trim() != Session["CheckCode"].ToString())
            {
                ShowMessageAlert("验证码不正确!");
                return;
            }

            RoomOrder roomBook = new RoomOrder()
            {
                CheckInTime    = Convert.ToDateTime(this.tbCheckInTime.Text),
                CheckOutTime   = Convert.ToDateTime(this.tbCheckOutTime.Text),
                RoomCategoryId = Convert.ToInt32(this.ddlRoomType.SelectedValue),
                CustomerName   = this.txtCustomerName.Text.Trim(),
                CustomerPhone  = this.txtPhoneNumber.Text.Trim(),
                Comments       = this.txtComment.Text.Trim() == "" ? "无" : this.txtComment.Text.Trim()
            };

            try
            {
                new DAL.RoomService().OrderBook(roomBook);

                this.ltaMsg.Text = "<script>alert('预定成功');location.href='/Pages/Default.aspx'</script>";
            }
            catch (Exception ex)
            {
                ShowMessageAlert("提交失败" + ex.Message);
            }
        }
예제 #4
0
 private void Init()
 {
     // Start the game by going to the first room
     if (Rooms.Any())
     {
         SetCurrentRoom(Rooms[RoomOrder.First()], true);
     }
 }
예제 #5
0
        public int OrderBook(RoomOrder order)
        {
            string sql = "INSERT INTO RoomOrder(CheckInTime,CheckOutTime,RoomCategoryId,CustomerName,CustomerPhone,Comments) VALUES(@CheckInTime,@CheckOutTime,@RoomCategoryId,@CustomerName,@CustomerPhone,@Comments);";

            SqlParameter[] param = new SqlParameter[]
            {
                new SqlParameter("@CheckInTime", order.CheckInTime),
                new SqlParameter("@CheckOutTime", order.CheckOutTime),
                new SqlParameter("@RoomCategoryId", order.RoomCategoryId),
                new SqlParameter("@CustomerName", order.CustomerName),
                new SqlParameter("@CustomerPhone", order.CustomerPhone),
                new SqlParameter("@Comments", order.Comments),
            };
            return(SQLHelper.Update(sql, param));
        }
예제 #6
0
        private void btnReserve_Click(object sender, EventArgs e)
        {
            try
            {
                //Add guest
                lstGuests.ForEach(x =>
                {
                    db.Guest.InsertOnSubmit(x);
                });
                db.SubmitChanges();

                //Add order record
                var order = new RoomOrder
                {
                    OrderDateTime   = DateTime.Now,
                    GuestNo         = Global.OrderGuest.GuestNo,
                    CouponId        = coupon == null ? null : coupon.CouponId,
                    TicketId        = ticket == null ? null : ticket.TicketId,
                    PaymentMethodNo = null
                };
                db.RoomOrder.InsertOnSubmit(order);
                db.SubmitChanges();

                if (coupon != null)
                {
                    db.Coupon.Single(x => x.CouponId == coupon.CouponId).isEnable = false;
                    db.SubmitChanges();
                }

                int i = 0;
                lstOrderDetail.ForEach(x =>
                {
                    //Add order detail
                    x.RoomOrderNo   = order.RoomOrderNo;
                    var orderDetail = new RoomOrderDetail()
                    {
                        ChildrenNum = x.ChildrenNum,
                        EndDate     = x.EndDate,
                        RoomOrderNo = x.RoomOrderNo,
                        StartDate   = x.StartDate,
                        GuestNum    = x.GuestNum,
                        MainGuest   = x.MainGuest,
                        Note        = x.Note,
                        RoomNo      = x.RoomNo
                    };
                    db.RoomOrderDetail.InsertOnSubmit(orderDetail);
                    db.SubmitChanges();

                    //Add breakfast
                    if (lstBreakfast[i])
                    {
                        db.RoomServiceRecord.InsertOnSubmit(new RoomServiceRecord
                        {
                            RoomOrderDetailNo = orderDetail.RoomOrderDetailNo,
                            RoomServiceNo     = 12,
                            Quantity          = orderDetail.GuestNum + orderDetail.ChildrenNum
                        });
                        db.SubmitChanges();
                    }

                    //Add luggage storage service
                    if (lstStorage[i])
                    {
                        db.RoomServiceRecord.InsertOnSubmit(new RoomServiceRecord
                        {
                            RoomOrderDetailNo = orderDetail.RoomOrderDetailNo,
                            RoomServiceNo     = 13,
                            Quantity          = 1
                        });
                        db.SubmitChanges();
                    }

                    i += 1;
                });

                //Change rooms status
                lstRooms.ForEach(x =>
                {
                    var room          = db.Room.ToList().Single(r => r.RoomNo == x.RoomNo);
                    room.RoomStatusNo = 1;
                });
                db.SubmitChanges();

                MessageBox.Show("Reserve successfully", "Disneyland", MessageBoxButtons.OK, MessageBoxIcon.Information);

                Global.BookRooms    = new BindingList <Room>();
                Global.CheckIn      = new DateTime();
                Global.CheckOut     = new DateTime();
                Global.OrderDetails = new List <RoomOrderDetail>();
                Global.Breakfast    = new List <bool>();
                Global.Storage      = new List <bool>();
                Global.OrderGuest   = new Guest();

                btnReserve.Enabled = false;
                btnBack.Enabled    = false;
            }
            catch (Exception ex)
            {
                //MessageBox.Show("Reserve error", "Disneyland", MessageBoxButtons.OK, MessageBoxIcon.Information);
                MessageBox.Show(ex.ToString());
            }
        }
예제 #7
0
        public void DataRefresh()
        {
            db = new DisneyDataDataContext();

            cboPayment.DataSource    = db.PaymentMethod;
            cboPayment.DisplayMember = "Method";

            btnPay.Enabled = true;

            order  = db.RoomOrder.ToList().SingleOrDefault(x => x.RoomOrderNo == Global.OrderRecord.RoomOrderNo);
            lstPay = new List <PayItem>();

            var detail = db.RoomOrderDetail.ToList().Where(x => x.RoomOrderNo == order.RoomOrderNo).ToList();

            detail.ForEach(x =>
            {
                lstPay.Add(new PayItem
                {
                    Description = x.Room.RoomSeries.SuitesName,
                    UnitCost    = x.Room.RoomSeries.Price,
                    Qty         = 1,
                    Amount      = x.Room.RoomSeries.Price
                });
            });

            detail.ForEach(x =>
            {
                db.RoomServiceRecord.ToList().Where(y => y.RoomOrderDetailNo == x.RoomOrderDetailNo).ToList().ForEach(y =>
                {
                    lstPay.Add(new PayItem
                    {
                        Description = y.RoomService.ServiceName,
                        UnitCost    = y.RoomService.Price,
                        Qty         = y.Quantity,
                        Amount      = y.RoomService.Price * y.Quantity
                    });
                });
            });

            lstPay = lstPay.GroupBy(x => new { x.Description, x.UnitCost })
                     .Select(p => new PayItem
            {
                Description = p.Key.Description,
                UnitCost    = p.Key.UnitCost,
                Qty         = p.Sum(q => q.Qty),
                Amount      = p.Sum(t => t.Qty) * p.Key.UnitCost
            }).ToList();

            dgv.DataSource = lstPay.Select(x => new
            {
                Description = x.Description,
                UnitCost    = "$" + x.UnitCost,
                Qty         = x.Qty,
                Amount      = "$" + x.Amount
            }).ToList();

            subtotal         = GetSubTotal();
            discount         = GetDiscount();
            invoiceTotal     = GetInvoiceTotal();
            lblSubtotal.Text = $"Subtotal: {subtotal}";
            lblDiscount.Text = $"Discount: {(discount == 1 ? "" : discount.ToString())}";
            lblPrice.Text    = $"Total Price: {invoiceTotal}";
        }