private void btnLuuHeSoKhach_Click(object sender, EventArgs e)
        {
            if (txtHeSoKhach.Text == "" || txtHeSoKhach.Text == null)
            {
                MessageBox.Show("Ô hệ số khách không thể để trống! Vui lòng chọn lại loại khách", "Thông báo", MessageBoxButtons.OK, MessageBoxIcon.Error);
                txtHeSoKhach.Focus();
            }
            else if (bus.IsNumber(txtHeSoKhach.Text) == false)
            {
                MessageBox.Show("Ô hệ số khách phải là số nguyên hoặc số thực!", "Thông báo", MessageBoxButtons.OK, MessageBoxIcon.Error);
                txtDonGia.Focus();
            }
            else
            {
                LoaiKhachHangDTO lkh = new LoaiKhachHangDTO();
                lkh.MaLoaiKhachHang = Convert.ToInt32(cmbLoaiKhach.SelectedValue.ToString());
                lkh.HeSoKhach       = float.Parse(txtHeSoKhach.Text);
                int n = 0;

                n = bus.SuaHeSoKhach(lkh);

                if (n == 0)
                {
                    MessageBox.Show("Lưu thất bại!", "Thông báo", MessageBoxButtons.OK, MessageBoxIcon.Error);
                }
                else
                {
                    MessageBox.Show("Lưu thành công!", "Thông báo", MessageBoxButtons.OK, MessageBoxIcon.Information);
                }
            }
        }
        public int SuaHeSoKhach(LoaiKhachHangDTO lkh)
        {
            Provider provider = new Provider();
            int      n        = 0;

            try
            {
                provider.Connect();

                string sql = "update LOAIKHACHHANG set HeSoKhach = @HeSoKhach where MaLoaiKhachHang = @MaLoaiKhachHang";
                n = provider.ExecuteNonQuery(CommandType.Text, sql,
                                             new SqlParameter {
                    ParameterName = "@HeSoKhach", Value = lkh.HeSoKhach
                },
                                             new SqlParameter {
                    ParameterName = "@MaLoaiKhachHang", Value = lkh.MaLoaiKhachHang
                }
                                             );
            }
            catch (SqlException ex)
            {
                throw ex;
            }
            finally
            {
                provider.DisConnect();
            }
            return(n);
        }
Exemple #3
0
 private void btn_lamMoi_Click(object sender, EventArgs e)
 {
     if (trThai != 2)
     {
         loaiKH = null;
         Bind();
     }
 }
Exemple #4
0
        public void TaoLoaiKhachHang_1()
        {
            DAL.DataProvider.InitalizeConnection();

            LoaiKhachHangDTO loaiHangDTO = new LoaiKhachHangDTO(LoaiKhachHangBUS.PhatSinhLoaiKhachHang(), "abc", 0, 0, 0, 0, 0, 0, 0);

            LoaiKhachHangBUS.LuuThongTinLoaiKhachHang(loaiHangDTO);

            DataTable khachhangDT = LoaiKhachHangBUS.LayTatCaLoaiKhachHang_DataTable();

            Assert.IsTrue(loaiHangDTO.MaLoaiKH == (int)khachhangDT.Rows[khachhangDT.Rows.Count - 1]["MaLoaiKH"]);
        }
Exemple #5
0
        public static LoaiKhachHangDTO LayLoaiKhachHangCoTheDatDuoc(KhachHangDTO khachHang)
        {
            LoaiKhachHangDTO loaiKhachHangDto     = DAL.KhachHangDAL.LayLoaiKhachHangCoTheDatDuoc(khachHang);
            LoaiKhachHangDTO loaiKhachHangHienTai = LoaiKhachHangBUS.LayLoaiKhachHang(khachHang);

            if (loaiKhachHangDto.SoDiemDeDatDuoc < loaiKhachHangHienTai.SoDiemDeDatDuoc)
            {
                return(loaiKhachHangHienTai);
            }
            else
            {
                return(loaiKhachHangDto);
            }
        }
Exemple #6
0
        public void SuaLoaiKhachHang_1()
        {
            DAL.DataProvider.InitalizeConnection();

            DataTable khachhangDT = LoaiKhachHangBUS.LayTatCaLoaiKhachHang_DataTable();

            LoaiKhachHangDTO loaiHangDTO = new LoaiKhachHangDTO((int)khachhangDT.Rows[khachhangDT.Rows.Count - 1]["MaLoaiKH"], "xyz", 0, 0, 0, 0, 0, 0, 0);

            LoaiKhachHangBUS.CapNhatThongTinLoaiKhachHang(loaiHangDTO);

            DataTable newKhachHangDT = LoaiKhachHangBUS.LayTatCaLoaiKhachHang_DataTable();

            Assert.IsTrue(newKhachHangDT.Rows[newKhachHangDT.Rows.Count - 1]["TenLoaiKH"].ToString() == khachhangDT.Rows[khachhangDT.Rows.Count - 1]["TenLoaiKH"].ToString());
        }
        public DataTable ConvertLoaiKhachHangDTOArrayToDataTable(LoaiKhachHangDTO[] lkhDTOArr)
        {
            DataTable dt = new DataTable();
            int row = lkhDTOArr.Length;
            dt.Columns.Add("MaLoaiKH", typeof(string));
            dt.Columns.Add("TenLoaiKH", typeof(string));
            dt.Columns.Add("HeSoKH", typeof(string));

            for (int i = 0; i < row; i++)
            {
                dt.Rows.Add(lkhDTOArr[i].MaLoaiKH, lkhDTOArr[i].TenLoaiKH, lkhDTOArr[i].HeSoKH);
            }
            return dt;
        }
Exemple #8
0
        private void btnaddCSDL_Click(object sender, EventArgs e)
        {
            KhachHangDTO     kh  = new KhachHangDTO();
            LoaiKhachHangDTO lkh = new LoaiKhachHangDTO();
            int n = 0;

            if (dgvds.Rows.Count > 0)
            {
                foreach (DataGridViewRow row in dgvds.Rows)
                {
                    string MaKhachHangCuoi = xl.DuLieuMCuoiDanhSach();
                    int    num             = int.Parse(MaKhachHangCuoi.Substring(2)) + 1;
                    string MaKhachHang     = "KH" + num.ToString("000");

                    kh.MaKhachHang = MaKhachHang;

                    kh.TenKhachHang = (row.Cells["TenKhachHang"].Value.ToString());
                    kh.CMND         = (row.Cells["CMND"].Value.ToString());
                    kh.DiaChi       = (row.Cells["DiaChi"].Value.ToString());
                    lkh.LoaiKhach   = row.Cells["TenLoaiKhachHang"].Value.ToString();

                    DataTable loaiKhachHang = xl.DanhSachLoaiKhachHang();



                    foreach (DataRow row1 in loaiKhachHang.Rows)
                    {
                        if (row1["TenLoaiKhach"].ToString() == lkh.LoaiKhach)
                        {
                            kh.MaLoaiKhachHang = row1["MaLoaiKhachHang"].ToString();
                        }
                    }


                    n += xl.ThemKhachHnag(kh);
                }
            }
            else
            {
            }
            if (n < 0)
            {
                MessageBox.Show("Không Thêm Vào CSDL");
            }
            else
            {
                MessageBox.Show("Đã Thêm Vào CSDL");
            }
        }
Exemple #9
0
        public void RefreshDataBinding(int maLoaiKH)
        {
            this.loaiKhachHangDTO = LoaiKhachHangBUS.LayLoaiKhachHang(maLoaiKH);

            txtMaLoaiKhachHang.EditValue           = loaiKhachHangDTO.MaLoaiKH;
            txtTenLoaiKhachHang.Text               = loaiKhachHangDTO.TenLoaiKH;
            txtSoDiemDeDatDuoc.EditValue           = loaiKhachHangDTO.SoDiemDeDatDuoc;
            txtPhanTramGiamGia.EditValue           = loaiKhachHangDTO.PhanTramGiamGia;
            txtSoTienGiamGia_Min.EditValue         = loaiKhachHangDTO.SoTienGiamGia_Min;
            txtSoTienGiamGia_Max.EditValue         = loaiKhachHangDTO.SoTienGiamGia_Max;
            txtPhanTramGiamGiaSinhNhat.EditValue   = loaiKhachHangDTO.PhanTramGiamGiaSinhNhat;
            txtSoTienGiamGiaSinhNhat_Min.EditValue = loaiKhachHangDTO.SoTienGiamGiaSinhNhat_Min;
            txtSoTienGiamGiaSinhNhat_Max.EditValue = loaiKhachHangDTO.SoTienGiamGiaSinhNhat_Max;

            ValidateChildren();
        }
Exemple #10
0
 private void dgv_LoaiKH_SelectionChanged(object sender, EventArgs e)
 {
     if (dgv_LoaiKH.SelectedRows.Count > 0)
     {
         trThai = 1;
         TrangThai();
         btn_capNhat.Enabled = true;
         loaiKH = (LoaiKhachHangDTO)dgv_LoaiKH.SelectedRows[0].DataBoundItem; // dgvSinhVien.CurrentRow
     }
     else
     {
         btn_capNhat.Enabled = false;
         loaiKH = null;
     }
     Bind();
 }
Exemple #11
0
        public bool CapNhatLoaiKH(LoaiKhachHangDTO loai)
        {
            string update = "UPDATE LOAIKH "
                            + "SET TENLOAIKH = @TENLOAIKH,"
                            + " TINHTRANG = @TINHTRANG"
                            + " WHERE MALOAI = @MALOAI";
            List <SqlParameter> lsparams = new List <SqlParameter>();

            lsparams.Add(new SqlParameter("@TENLOAIKH", loai.TENLOAIKH));
            lsparams.Add(new SqlParameter("@TINHTRANG", loai.TINHTRANG));
            lsparams.Add(new SqlParameter("@MALOAI", loai.MALOAI));

            SqlConnection con     = DataProvider.TaoKetNoi();
            bool          thucthi = DataProvider.ThucThi(update, lsparams.ToArray(), con);

            return(thucthi);
        }
Exemple #12
0
        private void btn_luu_Click(object sender, EventArgs e)
        {
            LoaiKhachHangBUS a = new LoaiKhachHangBUS();

            if (trThai == 2)
            {
                LoaiKhachHangDTO loai;
                try
                {
                    loai = new LoaiKhachHangDTO()
                    {
                        MALOAI    = int.Parse(txt_MaLoai.Text),
                        TENLOAIKH = txt_TenLoai.Text,
                        TINHTRANG = ckb_TinhTrang.Checked ? true : false
                    };
                }
                catch
                {
                    MessageBox.Show("Thieu thong tin");
                    return;
                }
                bool kt = a.CapNhatLoaiKH(loai);
                if (!kt)
                {
                    MessageBox.Show("Cập nhật thất bại");
                }
                else
                {
                    MessageBox.Show("Cập nhật thành công!");
                    FrmChinh frmmain = (FrmChinh)this.MdiParent;
                    frmmain.lsNDDTO = new LichSuNguoiDungDTO()
                    {
                        MAND     = frmmain.nvDangNhap.MAND,
                        MANV     = frmmain.nvDangNhap.MANV,
                        THOIGIAN = DateTime.Parse(DateTime.Now.ToString("dd/MM/yyy HH:mm")),
                        SUKIEN   = "Loại khách hàng cập nhật" + loaiKH.TENLOAIKH + " => :" + loai.TENLOAIKH
                    };
                    bool ktls = frmmain.lsNDBUS.ThemLichSuNguoiDung(frmmain.lsNDDTO);
                    trThai = 1;
                    loaiKH = null;
                }
            }
            TrangThai();
            Bind();
            LoadData();
        }
Exemple #13
0
        // string chuoiketnoi = @"Data Source =DESKTOP-20TAQ02\SQLEXPRESS;Initial Catalog = csdl;Integrated Sucurity = True;";
        public List <LoaiKhachHangDTO> dsloaiKH()
        {
            List <LoaiKhachHangDTO> ds   = new List <LoaiKhachHangDTO>();
            SqlConnection           conn = DataProvider.TaoKetNoi();
            string sql = "select * from LOAIKH";

            SqlDataReader sdr = DataProvider.TruyVanDuLieu(sql, conn);

            while (sdr.Read())
            {
                LoaiKhachHangDTO a = new LoaiKhachHangDTO()
                {
                    MALOAI    = sdr.GetInt32(0),
                    TENLOAIKH = sdr.GetString(1),
                    TINHTRANG = sdr.GetBoolean(2)
                };
                ds.Add(a);
            }
            sdr.Close();
            conn.Close();
            return(ds);
        }
        public static bool LuuThongTinLoaiKhachHang(LoaiKhachHangDTO loaiKhachHangDTO)
        {
            try
            {
                StringBuilder strSQL = new StringBuilder("INSERT INTO quanlykaraoke.loaikhachhang (MaLoaiKH, TenLoaiKH,SoDiemDeDatDuoc, PhanTramGiamGia, SoTienGiamGiaToiThieu, SoTienGiamGiaToiDa, PhanTramGiamGia_SinhNhat,SoTienGiamGiaToiThieu_SinhNhat,SoTienGiamGiaToiDa_SinhNhat) VALUES('$0','$1','$2','$3','$4','$5','$6','$7','$8')");
                strSQL.Replace("$0", loaiKhachHangDTO.MaLoaiKH.ToString());
                strSQL.Replace("$1", loaiKhachHangDTO.TenLoaiKH.ToString());
                strSQL.Replace("$2", loaiKhachHangDTO.SoDiemDeDatDuoc.ToString());
                strSQL.Replace("$3", loaiKhachHangDTO.PhanTramGiamGia.ToString());
                strSQL.Replace("$4", loaiKhachHangDTO.SoTienGiamGia_Min.ToString());
                strSQL.Replace("$5", loaiKhachHangDTO.SoTienGiamGia_Max.ToString());
                strSQL.Replace("$6", loaiKhachHangDTO.PhanTramGiamGiaSinhNhat.ToString());
                strSQL.Replace("$7", loaiKhachHangDTO.SoTienGiamGiaSinhNhat_Min.ToString());
                strSQL.Replace("$8", loaiKhachHangDTO.SoTienGiamGiaSinhNhat_Max.ToString());
                DAL.DataProvider.ExecuseNonQuery(strSQL.ToString());

                return(true);
            }
            catch (Exception e)
            {
                return(false);
            }
        }
        public static bool CapNhatThongTinLoaiKhachHang(LoaiKhachHangDTO loaiKhachHangDTO)
        {
            try
            {
                StringBuilder strSQL = new StringBuilder("UPDATE loaikhachhang SET  TenLoaiKH = '$1',SoDiemDeDatDuoc = '$2', PhanTramGiamGia = '$3', SoTienGiamGiaToiThieu = '$4', SoTienGiamGiaToiDa = '$5', PhanTramGiamGia_SinhNhat = '$6',SoTienGiamGiaToiThieu_SinhNhat = '$7',SoTienGiamGiaToiDa_SinhNhat = '$8' WHERE MaLoaiKH = '$0';");
                strSQL.Replace("$0", loaiKhachHangDTO.MaLoaiKH.ToString());
                strSQL.Replace("$1", loaiKhachHangDTO.TenLoaiKH.ToString());
                strSQL.Replace("$2", loaiKhachHangDTO.SoDiemDeDatDuoc.ToString());
                strSQL.Replace("$3", loaiKhachHangDTO.PhanTramGiamGia.ToString());
                strSQL.Replace("$4", loaiKhachHangDTO.SoTienGiamGia_Min.ToString());
                strSQL.Replace("$5", loaiKhachHangDTO.SoTienGiamGia_Max.ToString());
                strSQL.Replace("$6", loaiKhachHangDTO.PhanTramGiamGiaSinhNhat.ToString());
                strSQL.Replace("$7", loaiKhachHangDTO.SoTienGiamGiaSinhNhat_Min.ToString());
                strSQL.Replace("$8", loaiKhachHangDTO.SoTienGiamGiaSinhNhat_Max.ToString());
                DAL.DataProvider.ExecuseNonQuery(strSQL.ToString());

                return(true);
            }
            catch (Exception e)
            {
                return(false);
            }
        }
Exemple #16
0
        public int SuaHeSoKhach(LoaiKhachHangDTO lkh)
        {
            xlThayDoiQuyDinhDAL xl = new xlThayDoiQuyDinhDAL();

            return(xl.SuaHeSoKhach(lkh));
        }
Exemple #17
0
        public bool CapNhatLoaiKH(LoaiKhachHangDTO loai)
        {
            LoaiKhachHangDAO a = new LoaiKhachHangDAO();

            return(a.CapNhatLoaiKH(loai));
        }
Exemple #18
0
 public static bool CapNhatThongTinLoaiKhachHang(LoaiKhachHangDTO loaiKhachHangDTO)
 {
     return(DAL.LoaiKhachHangDAL.CapNhatThongTinLoaiKhachHang(loaiKhachHangDTO));
 }
Exemple #19
0
 public static bool LuuThongTinLoaiKhachHang(LoaiKhachHangDTO loaiKhachHangDTO)
 {
     return(DAL.LoaiKhachHangDAL.LuuThongTinLoaiKhachHang(loaiKhachHangDTO));
 }
Exemple #20
0
        public void RefreshDataBinding(ThuePhongDTO thuePhongDTO, KhachHangDTO khachHangDTO)
        {
            txtTienGio.ReadOnly = false;
            gridView1.OptionsBehavior.ReadOnly = false;

            this.thuePhong = thuePhongDTO;

            txtGioVao.Time = thuePhong.GioThuePhong;
            txtGioRa.Time  = (thuePhong.GioTraPhong == DateTime.MinValue) ?DateTime.Now : thuePhong.GioTraPhong;

            thuePhong.GioTraPhong = txtGioRa.Time;

            listKhuyenMai = new Dictionary <int, DichVuPhongDTO>();

            RefreshDataBindingTienGio();


            loaiKhachHang = LoaiKhachHangBUS.LayLoaiKhachHang(khachHangDTO);


            DichVuPhongDTO dichVuPhongDTO;

            //Kiểm tra các ngày đặt biệt
            foreach (DTO.ThongTinThanhToanTheoNgay ngay in ThanhToanBUS.TinhTienThuePhong(thuePhong, DateTime.Now).listThongTin)
            {
                //Sinh nhật
                if (ngay.ngay.date.Day == khachHangDTO.NgaySinh.Day && ngay.ngay.date.Month == khachHangDTO.NgaySinh.Month && khachHangDTO.MaKH != 0)
                {
                    if (TongTienGio * loaiKhachHang.PhanTramGiamGiaSinhNhat > loaiKhachHang.SoTienGiamGiaSinhNhat_Max)
                    {
                        dichVuPhongDTO = new DichVuPhongDTO(-1, thuePhong.MaThuePhong, 1, DateTime.Now, 1.0, -loaiKhachHang.SoTienGiamGiaSinhNhat_Max);
                    }
                    else if ((TongTienGio * loaiKhachHang.PhanTramGiamGiaSinhNhat < loaiKhachHang.SoTienGiamGiaSinhNhat_Min))
                    {
                        dichVuPhongDTO = new DichVuPhongDTO(-1, thuePhong.MaThuePhong, 1, DateTime.Now, 1.0, -loaiKhachHang.SoTienGiamGiaSinhNhat_Min);
                    }
                    else
                    {
                        dichVuPhongDTO = new DichVuPhongDTO(-1, thuePhong.MaThuePhong, 1, DateTime.Now, 1.0, -(TongTienGio * loaiKhachHang.PhanTramGiamGiaSinhNhat));
                    }

                    if (dichVuPhongDTO.DonGia != 0)
                    {
                        listKhuyenMai.Add(dichVuPhongDTO.MaDVP, dichVuPhongDTO);
                    }
                }
            }

            //KM Loại KH
            if (TongTienGio * loaiKhachHang.PhanTramGiamGia > loaiKhachHang.SoTienGiamGia_Max)
            {
                dichVuPhongDTO = new DichVuPhongDTO(-(listKhuyenMai.Count + 1), thuePhong.MaThuePhong, 2, DateTime.Now, 1.0, -loaiKhachHang.SoTienGiamGia_Max);
            }
            else if ((TongTienGio * loaiKhachHang.PhanTramGiamGia < loaiKhachHang.SoTienGiamGia_Min))
            {
                dichVuPhongDTO = new DichVuPhongDTO(-(listKhuyenMai.Count + 1), thuePhong.MaThuePhong, 2, DateTime.Now, 1.0, -loaiKhachHang.SoTienGiamGia_Min);
            }
            else
            {
                dichVuPhongDTO = new DichVuPhongDTO(-(listKhuyenMai.Count + 1), thuePhong.MaThuePhong, 2, DateTime.Now, 1.0, -(TongTienGio * loaiKhachHang.PhanTramGiamGia));
            }

            if (dichVuPhongDTO.DonGia != 0 && khachHangDTO.MaKH != 0)
            {
                listKhuyenMai.Add(dichVuPhongDTO.MaDVP, dichVuPhongDTO);
            }

            RefreshDataBindingDichVuPhong();
        }
Exemple #21
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;
            }
        }