public void RefreshDataBinding() { //Lấy tất cả ngày lễ listNgayLe = NgayLeBUS.LayTatCaNgayLe_List(); txtNgayLe.Properties.Items.Clear(); foreach (NgayLeDTO ngayLe in listNgayLe) { txtNgayLe.Properties.Items.Add(new MyComboBoxItem(ngayLe.NgayLe.ToString("dd - MM"), ngayLe.MaNgayLe)); } spinThongBaoDatPhong.EditValue = ThamSoBUS.LayKhoangThoiGianChoDatPhong(); spinHuyDatPhong.EditValue = ThamSoBUS.LayKhoangThoiGianTuDongHuyDatPhong(); spinHuyDatPhong.Properties.MaxValue = Convert.ToDecimal(spinThongBaoDatPhong.EditValue); txtNgayVao.EditValue = ThamSoBUS.LayKhoangThoiGianToiThieuGiuaHaiLanThue(); txtTienTraTruoc.EditValue = ThamSoBUS.QuyDoiDiem(1); if (ThamSoBUS.LayChuyenSangChoDonDepSauKhiThanhToan()) { cbChoDonDep.SelectedIndex = 0; } else { cbChoDonDep.SelectedIndex = 1; } ThamSoBUS.GetSoTienLamTron(521234); }
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; } }
private void windowsUIButtonPanel1_ButtonClick(object sender, DevExpress.XtraBars.Docking2010.ButtonEventArgs e) { switch (e.Button.Properties.Tag.ToString()) { case "Hủy": ((FlyoutDialog)this.Parent).DialogResult = DialogResult.Cancel; ((FlyoutDialog)this.Parent).Hide(); break; case "Chuyển": if (chiTietDatPhong == null) //Chuyển phong đang thuê { if (PhongBUS.LayThongTinPhong(phongMoi.MaPhong).MaTinhTrangPhong != 0) { XtraMessageBox.Show("Phòng " + PhongBUS.LayThongTinPhong((int)txtMaPhong.EditValue).TenPhong + " hiện không có sẵn! Vui lòng chọn lại phòng khác", "Thông báo", MessageBoxButtons.OK, MessageBoxIcon.Exclamation); txtPhong.Properties.DataSource = dtPhong = PhongBUS.LayTatCaPhong_TinhTrangPhong_LoaiPhong_CoSan(); txtPhong.EditValue = ""; gridView1.ClearSelection(); txtPhong.Refresh(); txtPhong.ErrorText = "Không có phòng nào được chọn"; txtMaPhong.EditValue = ""; txtLoaiPhong.EditValue = ""; txtTang.EditValue = ""; txtGhiChu.EditValue = ""; windowsUIButtonPanel1.Buttons[0].Properties.Visible = false; return; } ThuePhongBUS.CapNhatThongTinThuePhong(new ThuePhongDTO(phongCu.MaThuePhong, phongCu.MaPhong, phongCu.GioThuePhong, DateTime.Now, phongCu.MaHoaDon, Double.NaN)); switch (PhongBUS.LayThongTinPhong(phongCu.MaPhong).MaTinhTrangPhong) { case 1: if (ThamSoBUS.LayChuyenSangChoDonDepSauKhiThanhToan()) { PhongBUS.CapNhatTinhTrangPhong(phongCu.MaPhong, 5); } else { PhongBUS.CapNhatTinhTrangPhong(phongCu.MaPhong, 0); } break; case 7: if (ThamSoBUS.LayChuyenSangChoDonDepSauKhiThanhToan()) { PhongBUS.CapNhatTinhTrangPhong(phongCu.MaPhong, 6); } else { PhongBUS.CapNhatTinhTrangPhong(phongCu.MaPhong, 4); } break; } phongMoi = new ThuePhongDTO(ThuePhongBUS.PhatSinhMaThuePhong(), (int)txtMaPhong.EditValue, DateTime.Now, DateTime.MinValue, phongCu.MaHoaDon, Double.NaN); ThuePhongBUS.LuuThongTinThuePhong(phongMoi); PhongBUS.CapNhatTinhTrangPhong(phongMoi.MaPhong, 1); } else //Chuyển phòng đặt { if (PhongBUS.LayThongTinPhong(chiTietDatPhong.MaPhong).MaTinhTrangPhong == 4) { PhongBUS.CapNhatTinhTrangPhong(chiTietDatPhong.MaPhong, 0); } else if (PhongBUS.LayThongTinPhong(chiTietDatPhong.MaPhong).MaTinhTrangPhong == 6) { PhongBUS.CapNhatTinhTrangPhong(chiTietDatPhong.MaPhong, 5); } else if (PhongBUS.LayThongTinPhong(chiTietDatPhong.MaPhong).MaTinhTrangPhong == 7) { PhongBUS.CapNhatTinhTrangPhong(chiTietDatPhong.MaPhong, 1); } ChiTietDatPhongBUS.CapNhatThongTinDatPhong(new ChiTietDatPhongDTO(chiTietDatPhong.MaChiTietDatPhong, (int)txtMaPhong.EditValue, chiTietDatPhong.MaDatPhong)); } ((FlyoutDialog)this.Parent).DialogResult = DialogResult.OK; ((FlyoutDialog)this.Parent).Hide(); break; default: break; } }
private void wbntQuanlyphong_ButtonClick(object sender, DevExpress.XtraBars.Docking2010.ButtonEventArgs e) { switch (e.Button.Properties.Tag.ToString()) { case "Thêm Dịch Vụ": ((ChiTietThanhToanPhong)tabbedControlGroup1.SelectedTabPage.Tag).ThemDichVu(); break; case "Xóa Dịch Vụ": ((ChiTietThanhToanPhong)tabbedControlGroup1.SelectedTabPage.Tag).XoaDichVu(); break; case "Thanh toán": //hoaDon.TienGio = (double)txtTongTienGio.EditValue; HoaDonBUS.CapNhatHoaDonDaThanhToan(hoaDon); foreach (DevExpress.XtraLayout.LayoutControlGroup layoutGroup in this.tabbedControlGroup1.TabPages) { ((ChiTietThanhToanPhong)layoutGroup.Tag).LuuKhuyenMai(); ((ChiTietThanhToanPhong)layoutGroup.Tag).LuuTienGio(); ((ChiTietThanhToanPhong)layoutGroup.Tag).CapNhatThongTinThuePhong(); switch (PhongBUS.LayThongTinPhong(thuePhong.MaPhong).MaTinhTrangPhong) { case 1: case 5: if (ThamSoBUS.LayChuyenSangChoDonDepSauKhiThanhToan()) { PhongBUS.CapNhatTinhTrangPhong(((ChiTietThanhToanPhong)layoutGroup.Tag).thuePhong.MaPhong, 5); } else { PhongBUS.CapNhatTinhTrangPhong(((ChiTietThanhToanPhong)layoutGroup.Tag).thuePhong.MaPhong, 0); } break; case 7: if (ThamSoBUS.LayChuyenSangChoDonDepSauKhiThanhToan()) { PhongBUS.CapNhatTinhTrangPhong(((ChiTietThanhToanPhong)layoutGroup.Tag).thuePhong.MaPhong, 6); } else { PhongBUS.CapNhatTinhTrangPhong(((ChiTietThanhToanPhong)layoutGroup.Tag).thuePhong.MaPhong, 4); } break; } } if (khachHang.MaLoaiKH != 0) { KhachHangBUS.CapNhatDiemTichLuy(khachHang.MaKH, khachHang.DiemTichLuy + ThamSoBUS.QuyDoiDiem((double)txtTongTienThanhToan.EditValue)); khachHang.DiemTichLuy = khachHang.DiemTichLuy + ThamSoBUS.QuyDoiDiem((double)txtTongTienThanhToan.EditValue); LoaiKhachHangDTO loaiKhachHangCoThe = KhachHangBUS.LayLoaiKhachHangCoTheDatDuoc(khachHang); if (loaiKhachHangCoThe != null && loaiKhachHangCoThe.MaLoaiKH != 0) { if (khachHang.MaLoaiKH != loaiKhachHangCoThe.MaLoaiKH) { KhachHangBUS.CapNhatLoaiKhachHang(khachHang.MaKH, loaiKhachHangCoThe.MaLoaiKH); XtraMessageBox.Show("Khách hàng được cập nhật lên loại '" + loaiKhachHangCoThe.TenLoaiKH + "'! ", "Thông báo", MessageBoxButtons.OK, MessageBoxIcon.Information); } } } goBackHome(); break; case "In hóa đơn": XtraDialogArgs args = new XtraDialogArgs(caption: "Chọn dịch vụ", content: new ReportViewer(reportHoaDon), buttons: new DialogResult[] { DialogResult.OK }); XtraDialog.Show(args); // DevExpress.XtraBars.Docking2010.Customization.FlyoutDialog.Show(this.FindForm(),new ReportViewer(reportHoaDon)); break; case "In hóa đơn tạm tính": double TongTienGio = 0, TongTienKhuyenMai = 0, TongTienDichVu = 0; dsDichVuPhong.Tables.Clear(); for (int i = 0; i < this.tabbedControlGroup1.TabPages.Count; i++) { TongTienGio += ((ChiTietThanhToanPhong)this.tabbedControlGroup1.TabPages[i].Tag).GetTongTienGio(); TongTienKhuyenMai += ((ChiTietThanhToanPhong)this.tabbedControlGroup1.TabPages[i].Tag).GetTongTienKhuyenMai(); TongTienDichVu += ((ChiTietThanhToanPhong)this.tabbedControlGroup1.TabPages[i].Tag).GetTongTienDichVu(); dsHoaDon.Tables[1].Rows[i]["TienPhong"] = ((ChiTietThanhToanPhong)this.tabbedControlGroup1.TabPages[i].Tag).GetTongTienGio() + ((ChiTietThanhToanPhong)this.tabbedControlGroup1.TabPages[i].Tag).GetTongTienDichVu() + ((ChiTietThanhToanPhong)this.tabbedControlGroup1.TabPages[i].Tag).GetTongTienKhuyenMai(); dsDichVuPhong.Tables.Add(((ChiTietThanhToanPhong)tabbedControlGroup1.TabPages[i].Tag).GetDichVuPhong_DataTable()); } DataTable MergedDataTable = new DataTable("dichvuphong"); MergedDataTable.Merge(dsDichVuPhong.Tables[0]); if (!ReadOnlyMode) //ReadOnly Mode { MergedDataTable.Columns.Add(new DataColumn("MaTemp")); for (int i = 0; i < MergedDataTable.Rows.Count; i++) { MergedDataTable.Rows[i]["MaTemp"] = i; } MergedDataTable.PrimaryKey = new DataColumn[] { MergedDataTable.Columns["MaTemp"] }; for (int i = 1; i < dsDichVuPhong.Tables.Count; i++) { foreach (DataRow dr in dsDichVuPhong.Tables[i].Rows) { DataRow row = MergedDataTable.NewRow(); row["MaTemp"] = MergedDataTable.Rows.Count; row["MaDVP"] = dr["MaDVP"]; row["MaThuePhong"] = dr["MaThuePhong"]; row["MaDV"] = dr["MaDV"]; row["ThoiGian"] = dr["ThoiGian"]; row["SoLuong"] = dr["SoLuong"]; row["Gia"] = dr["Gia"]; row["TenDV"] = dr["TenDV"]; row["DonVi"] = dr["DonVi"]; row["colType"] = dr["colType"]; MergedDataTable.Rows.Add(row); } } for (int i = 0; i < this.tabbedControlGroup1.TabPages.Count; i++) { foreach (DataRow dr in ((ChiTietThanhToanPhong)tabbedControlGroup1.TabPages[i].Tag).GetTienGio_DataTable().Rows) { DataRow row = MergedDataTable.NewRow(); row["MaTemp"] = MergedDataTable.Rows.Count; row["MaDVP"] = -1; row["MaThuePhong"] = ((ChiTietThanhToanPhong)tabbedControlGroup1.TabPages[i].Tag).GetThuePhong().MaThuePhong; row["MaDV"] = -1; row["ThoiGian"] = DateTime.MinValue; row["SoLuong"] = dr["SoLuong"]; row["Gia"] = dr["DonGia"]; row["TenDV"] = dr["Ngay"] + " " + dr["KhoangThoiGian"]; row["DonVi"] = "VNĐ/Giờ"; row["colType"] = "Tiền Giờ"; MergedDataTable.Rows.Add(row); } } } else { for (int i = 1; i < dsDichVuPhong.Tables.Count; i++) { MergedDataTable.Merge(dsDichVuPhong.Tables[i]); } MergedDataTable.Columns.Add(new DataColumn("MaTemp")); for (int i = 0; i < MergedDataTable.Rows.Count; i++) { MergedDataTable.Rows[i]["MaTemp"] = i; } MergedDataTable.PrimaryKey = new DataColumn[] { MergedDataTable.Columns["MaTemp"] }; for (int i = 0; i < this.tabbedControlGroup1.TabPages.Count; i++) { foreach (DataRow dr in BUS.TienGio_ThuePhongBUS.LayTienGio_ThuePhong_DataTable(((ChiTietThanhToanPhong)tabbedControlGroup1.TabPages[i].Tag).GetThuePhong().MaThuePhong).Rows) { DataRow row = MergedDataTable.NewRow(); row["MaTemp"] = MergedDataTable.Rows.Count; row["MaDVP"] = -1; row["MaThuePhong"] = dr["MaThuePhong"]; row["MaDV"] = -1; row["ThoiGian"] = DateTime.MinValue; row["SoLuong"] = dr["SoLuong"]; row["Gia"] = dr["DonGia"]; row["TenDV"] = dr["Ngay"] + " " + dr["KhoangThoiGian"]; row["DonVi"] = "VNĐ/Giờ"; row["colType"] = "Tiền Giờ"; MergedDataTable.Rows.Add(row); } } } if (dsHoaDon.Tables.Count == 3) { dsHoaDon.Relations.RemoveAt(1); dsHoaDon.Tables[2].Constraints.Clear(); dsHoaDon.Tables.RemoveAt(2); } dsHoaDon.Tables.Add(MergedDataTable); dsHoaDon.Relations.Add("chitietdichvu", dsHoaDon.Tables[1].Columns["MaThuePhong"], dsHoaDon.Tables[2].Columns["MaThuePhong"]); txtTongTienGio.EditValue = TongTienGio; txtTongTienKhuyenMai.EditValue = TongTienKhuyenMai; txtTongTienDichVu.EditValue = TongTienDichVu; txtTongTienThanhToan.EditValue = TongTienGio + TongTienKhuyenMai + TongTienDichVu - Convert.ToDouble(txtTienTraTruoc.EditValue); hoaDon.MaNhanVienThanhToan = (this.ParentForm as MainForm).nhanVien.MaNhanVien; hoaDon.TongTienThanhToan = (double)txtTongTienThanhToan.EditValue; hoaDon.NgayThanhToan = txtNgayThanhToan.Time; hoaDon.SoTienKhuyenMai = (double)txtTongTienKhuyenMai.EditValue; reportHoaDon HoaDon = new reportHoaDon(); HoaDon.BindingData(dsHoaDon, khachHang, hoaDon, TongTienGio, TongTienKhuyenMai, TongTienDichVu, Convert.ToDouble(txtTienTraTruoc.EditValue), txtGhiChu.Text, true); XtraDialogArgs phieudatphong = new XtraDialogArgs(caption: "Hóa đơn tạm tính", content: new ReportViewer(HoaDon), buttons: new DialogResult[] { DialogResult.OK }); XtraDialog.Show(phieudatphong); break; } }