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); }
private void btn_lamMoi_Click(object sender, EventArgs e) { if (trThai != 2) { loaiKH = null; Bind(); } }
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"]); }
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); } }
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; }
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"); } }
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(); }
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(); }
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); }
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(); }
// 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); } }
public int SuaHeSoKhach(LoaiKhachHangDTO lkh) { xlThayDoiQuyDinhDAL xl = new xlThayDoiQuyDinhDAL(); return(xl.SuaHeSoKhach(lkh)); }
public bool CapNhatLoaiKH(LoaiKhachHangDTO loai) { LoaiKhachHangDAO a = new LoaiKhachHangDAO(); return(a.CapNhatLoaiKH(loai)); }
public static bool CapNhatThongTinLoaiKhachHang(LoaiKhachHangDTO loaiKhachHangDTO) { return(DAL.LoaiKhachHangDAL.CapNhatThongTinLoaiKhachHang(loaiKhachHangDTO)); }
public static bool LuuThongTinLoaiKhachHang(LoaiKhachHangDTO loaiKhachHangDTO) { return(DAL.LoaiKhachHangDAL.LuuThongTinLoaiKhachHang(loaiKhachHangDTO)); }
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(); }
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; } }