Ejemplo n.º 1
0
        private void windowsUIButtonPanel1_ButtonClick(object sender, DevExpress.XtraBars.Docking2010.ButtonEventArgs e)
        {
            switch (e.Button.Properties.Tag.ToString())
            {
            case "Hủy":
                ((FlyoutDialog)this.Parent).Hide();
                break;

            case "Thuê":


                //NOTE Tài khoản thanh toán
                //BÌNH

                foreach (PhongDTO phong in selectedPhong.Values)
                {
                    if (PhongBUS.LayThongTinPhong(phong.MaPhong).MaTinhTrangPhong != 0)
                    {
                        XtraMessageBox.Show("Phòng " + phong.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();


                        selectedPhong.Clear();
                        txtPhong.Refresh();
                        return;
                    }
                }


                ThuePhongDTO tp = null;
                foreach (PhongDTO phong in selectedPhong.Values)
                {
                    tp = new ThuePhongDTO(ThuePhongBUS.PhatSinhMaThuePhong(), phong.MaPhong, (DateTime)txtGioVao.EditValue, DateTime.MinValue, hoaDon.MaHoaDon, double.NaN);
                    ThuePhongBUS.LuuThongTinThuePhong(tp);
                    PhongBUS.CapNhatTinhTrangPhong(phong, 1);
                }



                //Thông báo thành công
                onThuePhongSuccess();

                ((FlyoutDialog)this.Parent).Hide();



                break;

            default:
                break;
            }
        }
        public void NhanPhong()
        {
            foreach (ChiTietDatPhongDTO chiTiet in DatPhongBUS.LayTatCaCacChiTietDatPhong(datPhong.MaDatPhong))
            {
                PhongDTO phongDto = PhongBUS.LayThongTinPhong(chiTiet.MaPhong);
                if (phongDto.MaTinhTrangPhong == 1 || phongDto.MaTinhTrangPhong == 7)
                {
                    XtraMessageBox.Show("Phòng " + phongDto.TenPhong + " đang được sử dụng nên không thể nhận được!", "Thông báo", MessageBoxButtons.OK, MessageBoxIcon.Exclamation);
                    return;
                }
                else if (phongDto.MaTinhTrangPhong == 5 || phongDto.MaTinhTrangPhong == 6)
                {
                    XtraMessageBox.Show("Phòng " + phongDto.TenPhong + " đang chờ dọn dẹp! Hãy dọn dẹp trước khi nhận phòng", "Thông báo", MessageBoxButtons.OK, MessageBoxIcon.Exclamation);
                    return;
                }
                else if (phongDto.MaTinhTrangPhong == 2)
                {
                    XtraMessageBox.Show("Phòng " + phongDto.TenPhong + " đang sửa chữa! Vui lòng chuyển đặt phòng sang phòng khác hoặc chuyển tình trạng phòng sang bình thường!", "Thông báo", MessageBoxButtons.OK, MessageBoxIcon.Exclamation);
                    return;
                }
                else if (phongDto.MaTinhTrangPhong == 3)
                {
                    XtraMessageBox.Show("Phòng " + phongDto.TenPhong + " đã bị xóa, không thể nhận phòng! Vui lòng chuyển đặt phòng sang phòng khác! ", "Thông báo", MessageBoxButtons.OK, MessageBoxIcon.Exclamation);
                    return;
                }
            }

            //Phát sinh hóa đơn

            HoaDonDTO hoaDon = new HoaDonDTO(HoaDonBUS.PhatSinhMaHoaDon(), (this.ParentForm as MainForm).nhanVien.MaNhanVien, Double.NaN, datPhong.SoTienDatTruoc, DateTime.MinValue, Double.NaN, datPhong.GhiChu, khachHang.MaKH, datPhong.MaDatPhong);

            HoaDonBUS.LuuThongTinHoaDon(hoaDon);

            ThuePhongDTO tp = null;



            foreach (XtraTabPage xtraTab in this.TabControl.TabPages)
            {
                tp = new ThuePhongDTO(ThuePhongBUS.PhatSinhMaThuePhong(), (xtraTab.Tag as ThongTinChiTietDatPhong).chiTietDatPhong.MaPhong, DateTime.Now, DateTime.MinValue, hoaDon.MaHoaDon, double.NaN);
                ThuePhongBUS.LuuThongTinThuePhong(tp);
                PhongBUS.CapNhatTinhTrangPhong((xtraTab.Tag as ThongTinChiTietDatPhong).chiTietDatPhong.MaPhong, 1);


                (xtraTab.Tag as ThongTinChiTietDatPhong).LuuThongTinDichVuPhong(tp);
            }

            DatPhongBUS.CapNhatTinhTrangDatPhong(2, datPhong.MaDatPhong);
            (this.ParentForm as MainForm).HienThiThongTinPhong(tp);
        }
Ejemplo n.º 3
0
        private void btnLuuPhieuThue_Click(object sender, EventArgs e)
        {
            PhieuThuePhongDTO   p  = LayThongTinPhong();
            ChiTietPhieuThueDTO ct = LayMaKeTiep();

            if (PhieuThueBUS.ThemPhieuThuePhong(ct, p))
            {
                for (int i = 0; i < dgvDanhSachPhieuThue.Rows.Count; i++)
                {
                    KhachHangDTO kh = LayThongTinKhachHang(i);
                    if (KhachHangBUS.ThemKhachHang(kh))
                    {
                        if (!PhieuThueBUS.ThemCTPhieuThuePhong(ct, kh))
                        {
                            MessageBox.Show("Không thêm được chi tiết phiếu thuê", "Lỗi", MessageBoxButtons.OK, MessageBoxIcon.Stop);
                        }
                    }
                    else
                    {
                        MessageBox.Show("Không thêm được thông tin khách hàng" + kh.TenKhachHang + "", "Lỗi", MessageBoxButtons.OK, MessageBoxIcon.Stop);
                    }
                }
                if (PhongBUS.CapNhatTinhTrangPhong(p))
                {
                    MessageBox.Show("Lập phiếu thuê thành công", "Thông báo", MessageBoxButtons.OK, MessageBoxIcon.Information);
                    ((Form)this.TopLevelControl).Close();
                }
                else
                {
                    MessageBox.Show("Không cập nhật được tình trạng phòng", "Lỗi", MessageBoxButtons.OK, MessageBoxIcon.Stop);
                }
            }
            else
            {
                MessageBox.Show("Không thêm được phiếu thuê", "Lỗi", MessageBoxButtons.OK, MessageBoxIcon.Stop);
            }
        }
Ejemplo n.º 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;
            }
        }
Ejemplo n.º 5
0
        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;
            }
        }
Ejemplo n.º 6
0
        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;
            }
        }
Ejemplo n.º 7
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)
                    {
                        DichVuDatPhongBUS.LuuThongTinDichVuDatPhong(new DichVuDatPhongDTO(DichVuDatPhongBUS.PhatSinhMaDichVuPhong(), dichVu_Key, chonDichVu.GetSelectedDichVu()[dichVu_Key], DichVuBUS.LayThongTinDichVu(dichVu_Key).DonGia, chiTietDatPhong.MaChiTietDatPhong));
                        //DichVuBUS.LayThongTinDichVu(dichVu_Key);
                    }

                    RefreshDataBindingDichVuPhong();
                }
                break;

            case "Chuyển Phòng":
                ChuyenPhong formChuyenPhong = new ChuyenPhong(chiTietDatPhong);


                if (FlyoutDialog.Show(this.FindForm(), formChuyenPhong) == DialogResult.OK)
                {
                    XtraMessageBox.Show("Chuyển phòng thành công!", "Thông báo", MessageBoxButtons.OK, MessageBoxIcon.Information);
                    (Parent.Parent.Parent as ThongTinChiTietDatNhieuPhong).RefreshData();
                }

                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)
                {
                    DichVuDatPhongBUS.XoaDichVuDatPhong((int)dichVuPhong.Rows[gridView1.GetFocusedDataSourceRowIndex()]["MaDichVuDatPhong"]);


                    RefreshDataBindingDichVuPhong();
                }

                break;

            case "Nhận Phòng":

                //Thông báo xác nhận
                if (XtraMessageBox.Show("Xác nhận nhận đặt phòng?", "Xác nhận", MessageBoxButtons.YesNo) == DialogResult.No)
                {
                    return;
                }

                (Parent.Parent.Parent as ThongTinChiTietDatNhieuPhong).NhanPhong();
                break;

            case "Hủy Phòng":

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


                Dictionary <int, DatPhongDTO> tempSapDat_1 = BUS.DatPhongBUS.LayCacDatPhongDangSapDuocDatVaDangDuocDat(ThamSoBUS.LayKhoangThoiGianChoDatPhong());
                //Hủy đặt phòng
                if (DatPhongBUS.DemSoLuongChiTietDatPhong(chiTietDatPhong.MaDatPhong) == 1)
                {
                    foreach (ChiTietDatPhongDTO dp in DatPhongBUS.LayTatCaCacChiTietDatPhong(chiTietDatPhong.MaDatPhong))
                    {
                        if (PhongBUS.LayThongTinPhong(dp.MaPhong).MaTinhTrangPhong == 4 && tempSapDat_1.ContainsKey(dp.MaDatPhong))
                        {
                            PhongBUS.CapNhatTinhTrangPhong(dp.MaPhong, 0);
                        }
                        else if (PhongBUS.LayThongTinPhong(dp.MaPhong).MaTinhTrangPhong == 6 && tempSapDat_1.ContainsKey(dp.MaDatPhong))
                        {
                            PhongBUS.CapNhatTinhTrangPhong(dp.MaPhong, 5);
                        }
                        else if (PhongBUS.LayThongTinPhong(dp.MaPhong).MaTinhTrangPhong == 7 && tempSapDat_1.ContainsKey(dp.MaDatPhong))
                        {
                            PhongBUS.CapNhatTinhTrangPhong(dp.MaPhong, 1);
                        }
                    }

                    DatPhongBUS.CapNhatTinhTrangDatPhong(3, chiTietDatPhong.MaDatPhong);
                    (Parent.Parent.Parent as ThongTinChiTietDatNhieuPhong).RefreshData();
                    break;
                }

                //Hủy phòng
                if (PhongBUS.LayThongTinPhong(chiTietDatPhong.MaPhong).MaTinhTrangPhong == 4 && tempSapDat_1.ContainsKey(chiTietDatPhong.MaDatPhong))
                {
                    PhongBUS.CapNhatTinhTrangPhong(chiTietDatPhong.MaPhong, 0);
                }
                else if (PhongBUS.LayThongTinPhong(chiTietDatPhong.MaPhong).MaTinhTrangPhong == 6 && tempSapDat_1.ContainsKey(chiTietDatPhong.MaDatPhong))
                {
                    PhongBUS.CapNhatTinhTrangPhong(chiTietDatPhong.MaPhong, 5);
                }
                else if (PhongBUS.LayThongTinPhong(chiTietDatPhong.MaPhong).MaTinhTrangPhong == 7 && tempSapDat_1.ContainsKey(chiTietDatPhong.MaDatPhong))
                {
                    PhongBUS.CapNhatTinhTrangPhong(chiTietDatPhong.MaPhong, 1);
                }

                DatPhongBUS.XoaCacDichVuDatPhong(chiTietDatPhong);
                DatPhongBUS.XoaDatChiTietDatPhong(chiTietDatPhong);
                //if (DatPhongBUS.DemSoLuongChiTietDatPhong(chiTietDatPhong.MaDatPhong) == 0)
                //{
                //    DatPhongBUS.XoaDatPhong(chiTietDatPhong.MaDatPhong);
                //}
                XtraMessageBox.Show("Xóa đặt phòng thành công!", "Thông báo", MessageBoxButtons.OK, MessageBoxIcon.Information);
                (Parent.Parent.Parent as ThongTinChiTietDatNhieuPhong).RefreshData();

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

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

                break;

            case "Hủy Đặt Phòng":

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

                //BUS.PhongBUS.CapNhatTinhTrangPhong(chiTiet.MaPhong, 0);



                Dictionary <int, DatPhongDTO> tempSapDat = BUS.DatPhongBUS.LayCacDatPhongDangSapDuocDatVaDangDuocDat(ThamSoBUS.LayKhoangThoiGianChoDatPhong());

                foreach (ChiTietDatPhongDTO dp in DatPhongBUS.LayTatCaCacChiTietDatPhong(chiTietDatPhong.MaDatPhong))
                {
                    if (PhongBUS.LayThongTinPhong(dp.MaPhong).MaTinhTrangPhong == 4 && tempSapDat.ContainsKey(dp.MaDatPhong))
                    {
                        PhongBUS.CapNhatTinhTrangPhong(dp.MaPhong, 0);
                    }
                    else if (PhongBUS.LayThongTinPhong(dp.MaPhong).MaTinhTrangPhong == 6 && tempSapDat.ContainsKey(dp.MaDatPhong))
                    {
                        PhongBUS.CapNhatTinhTrangPhong(dp.MaPhong, 5);
                    }
                    else if (PhongBUS.LayThongTinPhong(dp.MaPhong).MaTinhTrangPhong == 7 && tempSapDat.ContainsKey(dp.MaDatPhong))
                    {
                        PhongBUS.CapNhatTinhTrangPhong(dp.MaPhong, 1);
                    }
                }

                DatPhongBUS.CapNhatTinhTrangDatPhong(3, chiTietDatPhong.MaDatPhong);
                (Parent.Parent.Parent as ThongTinChiTietDatNhieuPhong).RefreshData();
                break;

            case "In phiếu đặt":
            {
                (Parent.Parent.Parent as ThongTinChiTietDatNhieuPhong).InPhieuDat();
                break;
            }
            }
        }
Ejemplo n.º 8
0
        private void windowsUIButtonPanel1_ButtonClick(object sender, DevExpress.XtraBars.Docking2010.ButtonEventArgs e)
        {
            switch (e.Button.Properties.Tag.ToString())
            {
            case "Hủy":

                ((FlyoutDialog)this.Parent).Hide();
                break;

            case "Thuê":
                //Kiểm tra khách hàng
                if (khachHang == null)
                {
                    XtraMessageBox.Show("Không có khách hàng nào được chọn!", "Lỗi", MessageBoxButtons.OK);

                    return;
                }

                //Kiểm tra xem phòng vẫn còn trống không
                foreach (PhongDTO phong in selectedPhong.Values)
                {
                    if (PhongBUS.LayThongTinPhong(phong.MaPhong).MaTinhTrangPhong != 0)
                    {
                        XtraMessageBox.Show("Phòng " + phong.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();


                        selectedPhong.Clear();
                        txtPhong.Refresh();
                        return;
                    }
                }

                //NOTE Tài khoản thanh toán
                //BÌNH


                //Phát sinh hóa đơn
                HoaDonDTO hoaDon = new HoaDonDTO(HoaDonBUS.PhatSinhMaHoaDon(), -1, Double.NaN, Convert.ToDouble(txtTienTraTruoc.EditValue), DateTime.MinValue, Double.NaN, txtGhiChu.Text, khachHang.MaKH, -1);
                HoaDonBUS.LuuThongTinHoaDon(hoaDon);

                ThuePhongDTO tp = null;
                foreach (PhongDTO phong in selectedPhong.Values)
                {
                    tp = new ThuePhongDTO(ThuePhongBUS.PhatSinhMaThuePhong(), phong.MaPhong, (DateTime)txtGioVao.EditValue, DateTime.MinValue, hoaDon.MaHoaDon, double.NaN);
                    ThuePhongBUS.LuuThongTinThuePhong(tp);
                    PhongBUS.CapNhatTinhTrangPhong(phong, 1);
                }



                //Thông báo thành công
                onThuePhongSuccess(tp);

                ((FlyoutDialog)this.Parent).Hide();



                break;

            default:
                break;
            }
        }