예제 #1
0
        public void ThemDichVu()
        {
            folderDichVu.ChonDichVu chonDichVu = new folderDichVu.ChonDichVu(true);

            XtraDialogArgs args = new XtraDialogArgs(caption: "Chọn dịch vụ", content: chonDichVu, buttons: new DialogResult[] { DialogResult.OK, DialogResult.Cancel });

            args.Showing += Args_Showing;


            if (XtraDialog.Show(args) == DialogResult.OK)
            {
                foreach (int dichVu_Key in chonDichVu.GetSelectedDichVu().Keys)
                {
                    if (DichVuBUS.LayThongTinDichVu(dichVu_Key).MaLoaiDV == 3)
                    {
                        listKhuyenMai.Add(-(listKhuyenMai.Count + 1), new DichVuPhongDTO(-(listKhuyenMai.Count + 1), thuePhong.MaThuePhong, dichVu_Key, DateTime.Now, chonDichVu.GetSelectedDichVu()[dichVu_Key], DichVuBUS.LayThongTinDichVu(dichVu_Key).DonGia));
                    }
                    else
                    {
                        DichVuPhongBUS.LuuThongTinDichVuPhong(new DichVuPhongDTO(DichVuPhongBUS.PhatSinhMaDichVuPhong(), thuePhong.MaThuePhong, dichVu_Key, DateTime.Now, chonDichVu.GetSelectedDichVu()[dichVu_Key], DichVuBUS.LayThongTinDichVu(dichVu_Key).DonGia));
                    }
                    //DichVuBUS.LayThongTinDichVu(dichVu_Key);
                }

                RefreshDataBindingDichVuPhong();
                CalcTongTienAction();
            }
        }
예제 #2
0
 public void LuuKhuyenMai()
 {
     foreach (DichVuPhongDTO dichVuPhong in listKhuyenMai.Values)
     {
         DichVuPhongBUS.LuuThongTinDichVuPhong(new DichVuPhongDTO(DichVuPhongBUS.PhatSinhMaDichVuPhong(), thuePhong.MaThuePhong, dichVuPhong.MaDV, dichVuPhong.ThoiGian, dichVuPhong.SoLuong, dichVuPhong.DonGia));
     }
 }
예제 #3
0
 public void LuuThongTinDichVuPhong(ThuePhongDTO tp)
 {
     foreach (DataRow dr in dichVuPhong.Rows)
     {
         DichVuPhongBUS.LuuThongTinDichVuPhong(new DichVuPhongDTO(DichVuPhongBUS.PhatSinhMaDichVuPhong(), tp.MaThuePhong, (int)dr["MaDichVu"], DateTime.Now, (double)dr["SoLuong"], (double)dr["Gia"]));
     }
 }
예제 #4
0
        private void wbntQuanlyphong_ButtonClick(object sender, DevExpress.XtraBars.Docking2010.ButtonEventArgs e)
        {
            switch (e.Button.Properties.Tag.ToString())
            {
            case "Thêm Dịch Vụ":
                folderDichVu.ChonDichVu chonDichVu = new folderDichVu.ChonDichVu(false);

                XtraDialogArgs args = new XtraDialogArgs(caption: "Chọn dịch vụ", content: chonDichVu, buttons: new DialogResult[] { DialogResult.OK, DialogResult.Cancel });
                args.Showing += Args_Showing;


                if (XtraDialog.Show(args) == DialogResult.OK)
                {
                    foreach (int dichVu_Key in chonDichVu.GetSelectedDichVu().Keys)
                    {
                        DichVuPhongBUS.LuuThongTinDichVuPhong(new DichVuPhongDTO(DichVuPhongBUS.PhatSinhMaDichVuPhong(), thuePhong.MaThuePhong, dichVu_Key, DateTime.Now, chonDichVu.GetSelectedDichVu()[dichVu_Key], DichVuBUS.LayThongTinDichVu(dichVu_Key).DonGia));
                        //DichVuBUS.LayThongTinDichVu(dichVu_Key);
                    }

                    RefreshDataBindingDichVuPhong();
                }
                break;

            case "Chuyển Phòng":
                ChuyenPhong formChuyenPhong = new ChuyenPhong(thuePhong);
                if (FlyoutDialog.Show(this.FindForm(), formChuyenPhong) == DialogResult.OK)
                {
                    OnThueThemPhongSuccess();
                }

                break;

            case "Xóa Dịch Vụ":
                if (XtraMessageBox.Show("Bạn có chắc muốn xóa dịch vụ '" + dichVuPhong.Rows[gridView1.GetFocusedDataSourceRowIndex()]["TenDV"] + "' ?", "Xác nhận", MessageBoxButtons.YesNo, MessageBoxIcon.Exclamation) == DialogResult.Yes)
                {
                    DichVuPhongBUS.XoaDichVuPhong((int)dichVuPhong.Rows[gridView1.GetFocusedDataSourceRowIndex()]["MaDVP"]);


                    RefreshDataBindingDichVuPhong();
                }

                break;

            case "Hủy Phòng":

                //Thông báo xác nhận
                if (XtraMessageBox.Show("Bạn có chắc hủy thuê phòng này ?", "Xác nhận", MessageBoxButtons.YesNo) == DialogResult.No)
                {
                    return;
                }


                ThuePhongBUS.XoaCacDichVuPhong(thuePhong);
                ThuePhongBUS.XoaThuePhong(thuePhong);
                PhongBUS.CapNhatTinhTrangPhong(thuePhong.MaPhong, 0);
                if (HoaDonBUS.DemSoLuongThuePhong(hoaDon.MaHoaDon) == 0)
                {
                    HoaDonBUS.XoaHoaDon(hoaDon);
                }

                ((ThongTinChiTietNhieuPhong)Parent.Parent.Parent).OnXoaPhong();

                break;

            case "Trả Phòng":

                //Đếm số lượng phòng đã trả trong hóa đơn / Nếu hóa đơn còn 1 phòng chuyển qua thanh toán
                if (HoaDonBUS.DemSoLuongPhongDangConDuocThueHienTai(hoaDon) == 1)
                {
                    XtraMessageBox.Show("Hóa đơn chỉ còn lại 1 phòng! Vui lòng thanh toán", "Thông báo", MessageBoxButtons.OK, MessageBoxIcon.Information);
                    return;
                }
                //Xác nhận trả phòng
                if (XtraMessageBox.Show("Bạn có chắc trả phòng này ?", "Xác nhận", MessageBoxButtons.YesNo) == DialogResult.No)
                {
                    return;
                }


                ThuePhongBUS.CapNhatThongTinThuePhong(new ThuePhongDTO(thuePhong.MaThuePhong, thuePhong.MaPhong, thuePhong.GioThuePhong, DateTime.Now, thuePhong.MaHoaDon, Double.NaN));
                switch (PhongBUS.LayThongTinPhong(thuePhong.MaPhong).MaTinhTrangPhong)
                {
                case 1:
                    if (ThamSoBUS.LayChuyenSangChoDonDepSauKhiThanhToan())
                    {
                        PhongBUS.CapNhatTinhTrangPhong(thuePhong.MaPhong, 5);
                    }
                    else
                    {
                        PhongBUS.CapNhatTinhTrangPhong(thuePhong.MaPhong, 0);
                    }
                    break;

                case 7:
                    if (ThamSoBUS.LayChuyenSangChoDonDepSauKhiThanhToan())
                    {
                        PhongBUS.CapNhatTinhTrangPhong(thuePhong.MaPhong, 6);
                    }
                    else
                    {
                        PhongBUS.CapNhatTinhTrangPhong(thuePhong.MaPhong, 4);
                    }
                    break;
                }

                //Thông báo thành công
                XtraMessageBox.Show("Trả phòng thành công!", "Thông báo", MessageBoxButtons.OK, MessageBoxIcon.Information);

                RefreshDataBinding(phong, ThuePhongBUS.LayThongTinThuePhong(thuePhong.MaThuePhong));

                break;

            case "Thanh Toán":
                goToThanhToan(thuePhong);
                break;

            case "Thông tin đặt phòng":
                (this.ParentForm as MainForm).HienThiThongTinDatPhong(HoaDonBUS.LayThongTinHoaDon(thuePhong.MaHoaDon).MaDatPhong);
                break;

            case "Tách Hóa Đơn":
                if (HoaDonBUS.LayTatCaCacThuePhong(hoaDon.MaHoaDon).Count == 1)
                {
                    XtraMessageBox.Show("Hóa đơn chỉ có 1 phòng nên không thể tách!", "Thông báo", MessageBoxButtons.OK, MessageBoxIcon.Information);
                    return;
                }
                FlyoutDialog.Show(this.FindForm(), new TachHoaDon(hoaDon, OnThueThemPhongSuccess));
                break;

            case "Thuê Thêm Phòng":
                FlyoutDialog.Show(this.FindForm(), new ThemPhongVaoHoaDon(hoaDon, OnThueThemPhongSuccess));
                break;
            }
        }