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; } }