예제 #1
0
        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);
        }
예제 #2
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;
            }
        }
예제 #3
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;
            }
        }
예제 #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ụ":
                ((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;
            }
        }