public bool suaKhachHangSuaChua(DTO_Khachhangsuachua KHSC)
        {
            try
            {
                //Ket noi
                _conn.Open();

                //Query string
                string SQL = string.Format("UPDATE KHACHHANGSUACHUA SET" +
                                           " CMND = '{0}', Ten = N'{1}', Diachi= N'{2}', Gioitinh=N'{3}', Sodienthoai='{4}',Ngaysinh='{5}' where Makhachhang={6}",
                                           KHSC.CMND, KHSC.TEN, KHSC.DIACHI, KHSC.GIOITINH, KHSC.SODIENTHOAI, KHSC.NGAYSINH.ToShortDateString(), KHSC.MAKHACHANG);

                SqlCommand cmd = new SqlCommand(SQL, _conn);

                if (cmd.ExecuteNonQuery() > 0)
                {
                    return(true);
                }
            }
            catch (Exception e)
            {
            }
            finally
            {
                _conn.Close();
            }
            return(false);
        }
        ///
        /// <summary>
        /// Thêm vào Khách hàng sửa chữa
        /// </summary>
        /// <param name="KHSC"></param>
        /// <returns></returns>
        public bool themKhachHangSuaChua(DTO_Khachhangsuachua KHSC)
        {
            try
            {
                // Ket noi
                _conn.Open();

                DateTime.Parse(KHSC.NGAYSINH.ToShortDateString());
                // Query string
                string SQL = string.Format("INSERT INTO KHACHHANGSUACHUA(CMND,Ten,Diachi,Gioitinh,Sodienthoai,Ngaysinh) VALUES('{0}',N'{1}',N'{2}',N'{3}','{4}','{5}')", KHSC.CMND, KHSC.TEN, KHSC.DIACHI, KHSC.GIOITINH, KHSC.SODIENTHOAI, KHSC.NGAYSINH.ToShortDateString());

                // Command
                SqlCommand cmd = new SqlCommand(SQL, _conn);

                // Query và kiểm tra
                if (cmd.ExecuteNonQuery() > 0)
                {
                    return(true);
                }
            }
            catch (Exception e)
            {
            }
            finally
            {
                // Dong ket noi
                _conn.Close();
            }

            return(false);
        }
        /// <summary>
        /// get toàn bộ khách hàng theo cmnd, số điện thoại, tên
        /// </summary>
        /// <param name="KHSC"></param>
        /// <returns></returns>
        public DataTable getKhachHangSuaChua(DTO_Khachhangsuachua KHSC)
        {
            string ss; //string search
            string sc; // string column

            if (KHSC.TEN != "")
            {
                sc = KHSC.TEN;
                ss = "Ten";
            }
            else
            {
                if (KHSC.CMND != "")
                {
                    sc = KHSC.CMND;
                    ss = "CMND";
                }
                else
                {
                    sc = KHSC.SODIENTHOAI;
                    ss = "Sodienthoai";
                }
            }

            SqlDataAdapter da;
            // Query string
            string SQL = string.Format("SELECT * FROM KHACHHANGSUACHUA WHERE {0} LIKE N'{1}%' OR {0} LIKE N'%{1}' OR {0} LIKE N'%{1}%'", ss, sc);

            da = new SqlDataAdapter(SQL, _conn);

            DataTable dtKhachHangSuaChua = new DataTable();

            da.Fill(dtKhachHangSuaChua);
            return(dtKhachHangSuaChua);
        }
        private void BtnSua_Click(object sender, EventArgs e)
        {
            capNhatGroupBoxQuanLyThongTin(dtgvKhachHang, this);
            if (dtgvKhachHang.SelectedRows.Count > 0)
            {
                if (txbTen.Text != "" && txbCMND.Text != "" && txbSDT.Text != "" && txbDiaChi.Text != "" && (rbNam.Checked == true || rbNu.Checked == true))
                {
                    //kiểm tra các trường dữ liệu đầu vào
                    if (txbCMND.Text.All(char.IsDigit) == false || (txbCMND.Text.Length != 9 && txbCMND.Text.Length != 12))
                    {
                        MessageBox.Show("CMND không hợp lệ!", "Thông báo", MessageBoxButtons.OK, MessageBoxIcon.Warning);
                        txbCMND.Text = "";
                        return;
                    }
                    else
                    {
                        // Tạo DTo
                        DTO_Khachhangsuachua khCMND = new DTO_Khachhangsuachua(0, txbCMND.Text, "", "", "", "", dtpkNgaySinh.Value.Date);
                        // Tìm kiếm
                        DataTable dttb = null;
                        dttb = BUS_KHSC.getKhachHangSuaChua(khCMND);
                        // MessageBox.Show("sau" + CMND + "txb" + txbCMND.Text);
                        if (dttb.Rows.Count >= 1 && CMND != txbCMND.Text)
                        {
                            MessageBox.Show("Người này đã tồn tại!", "Thông báo", MessageBoxButtons.OK, MessageBoxIcon.Warning);
                            CapNhatDtgvKhachHang(dtgvKhachHang, this);
                            return;
                        }
                    }

                    // Lấy row hiện tại
                    DataGridViewRow row = dtgvKhachHang.SelectedRows[0];
                    int             ID  = Convert.ToInt16(row.Cells[0].Value.ToString());

                    string gioiTinh = rbNam.Checked == true ? gioiTinh = "Nam" : gioiTinh = "Nữ";
                    // Tạo DTo
                    DTO_Khachhangsuachua KHSC = new DTO_Khachhangsuachua(ID, txbCMND.Text, txbTen.Text, txbDiaChi.Text, gioiTinh, txbSDT.Text, dtpkNgaySinh.Value.Date);
                    // Sửa
                    if (BUS_KHSC.suaKhachHangSuaChua(KHSC))
                    {
                        MessageBox.Show("Sửa thành công!");
                        CapNhatDtgvKhachHang(dtgvKhachHang, this);
                    }
                    else
                    {
                        MessageBox.Show("Sửa không thành công!", "Thông báo", MessageBoxButtons.OK, MessageBoxIcon.Warning);
                    }
                    //dtgvKhachHang.ClearSelection();
                }
                else
                {
                    MessageBox.Show("Xin hãy nhập đầy đủ!", "Thông báo", MessageBoxButtons.OK, MessageBoxIcon.Warning);
                }
            }
            else
            {
                MessageBox.Show("Hãy chọn thành viên muốn sửa!", "Thông báo", MessageBoxButtons.OK, MessageBoxIcon.Exclamation);
            }
        }
        public DataTable getThongTinXe(DTO_Khachhangsuachua KHSC)
        {
            SqlDataAdapter da;
            // Query string
            string SQL = string.Format("select HAXE.Tenhangxe,HIXE.Tenhieuxe,X.Tenxe,X.Bienso from KHACHHANGSUACHUA KH,XE X,HANGXE HAXE,HIEUXE HIXE where KH.Makhachhang = X.Makhachhang AND X.Mahangxe = HAXE.IDHangxe AND X.Mahieuxe = HIXE.IDHieuxe AND KH.Makhachhang = {0}", KHSC.MAKHACHANG);

            da = new SqlDataAdapter(SQL, _conn);

            DataTable dtKhachHangSuaChua = new DataTable();

            da.Fill(dtKhachHangSuaChua);
            return(dtKhachHangSuaChua);
        }
        public void capNhatdtgvXeKhachHang(int id)//id của khách hàng
        {
            //cập nhật mấy cái datagrid view
            dtgvXe.DataSource         = null;
            dtgvXe.Columns[0].Visible = dtgvXe.Columns[1].Visible = false;
            dtgvXe.Columns[2].Visible = dtgvXe.Columns[3].Visible = false;

            UC_XemThongTinKhachHang KHSC = new UC_XemThongTinKhachHang();
            DateTime temp = new DateTime();

            // Tạo DTo
            DTO_Khachhangsuachua DTO_KHSC = new DTO_Khachhangsuachua(id, "", "", "", "", "", temp);

            // Tìm kiếm
            dtgvXe.DataSource = KHSC.BUS_KHSC.getThongTinXe(DTO_KHSC);

            //Thay đổi tên các cột
            dtgvXe.Columns["Tenhangxe"].HeaderText = "Hãng xe";
            dtgvXe.Columns["Tenhieuxe"].HeaderText = "Hiệu xe";
            dtgvXe.Columns["Tenxe"].HeaderText     = "Tên xe";
            dtgvXe.Columns["Bienso"].HeaderText    = "Biển số";
        }
        private void BtnTimKiem_Click(object sender, EventArgs e)
        {
            if (txbTimKiemTen.Text == "" && txbTimKiemCMND.Text == "" && txbTimKiemSDT.Text == "")
            {
                MessageBox.Show("Vui lòng nhập thông tin tìm kiếm!", "Thông báo", MessageBoxButtons.OK, MessageBoxIcon.Exclamation);
            }
            else
            {
                // Tạo DTo
                DTO_Khachhangsuachua KHSC = new DTO_Khachhangsuachua(0, txbTimKiemCMND.Text, txbTimKiemTen.Text, "NULL", "NULL", txbTimKiemSDT.Text, dtpkNgaySinh.Value.Date);
                // Tìm kiếm
                DataTable dttb = BUS_KHSC.getKhachHangSuaChua(KHSC);
                dtgvKhachHang.DataSource = dttb;

                //ẩn cột mã khách hàng
                dtgvKhachHang.Columns["Makhachhang"].Visible = false;

                //điều chỉnh thứ tự các cột
                dtgvKhachHang.Columns["Ten"].DisplayIndex         = 0;
                dtgvKhachHang.Columns["CMND"].DisplayIndex        = 1;
                dtgvKhachHang.Columns["Ngaysinh"].DisplayIndex    = 2;
                dtgvKhachHang.Columns["Gioitinh"].DisplayIndex    = 3;
                dtgvKhachHang.Columns["Sodienthoai"].DisplayIndex = 2;
                dtgvKhachHang.Columns["Diachi"].DisplayIndex      = 5;

                //Thay đổi tên các cột
                dtgvKhachHang.Columns["Ten"].HeaderText         = "Tên khách hàng";
                dtgvKhachHang.Columns["Ngaysinh"].HeaderText    = "Ngày sinh";
                dtgvKhachHang.Columns["Gioitinh"].HeaderText    = "Giới tính";
                dtgvKhachHang.Columns["Sodienthoai"].HeaderText = "SĐT";
                dtgvKhachHang.Columns["Diachi"].HeaderText      = "Địa chỉ";

                //resize chiều rộng các cột
                dtgvKhachHang.Columns["Ten"].FillWeight      = 200;
                dtgvKhachHang.Columns["Ngaysinh"].FillWeight = 80;
                dtgvKhachHang.Columns["Gioitinh"].FillWeight = 40;
            }
        }
        private void BtnThem_Click(object sender, EventArgs e)
        {
            if (txbTen.Text != "" && txbCMND.Text != "" && txbSDT.Text != "" && txbDiaChi.Text != "" && (rbNam.Checked == true || rbNu.Checked == true))
            {
                //kiểm tra các trường dữ liệu đầu vào
                if (txbCMND.Text.All(char.IsDigit) == false || (txbCMND.Text.Length != 9 && txbCMND.Text.Length != 12))
                {
                    MessageBox.Show("CMND không hợp lệ!", "Thông báo", MessageBoxButtons.OK, MessageBoxIcon.Warning);
                    txbCMND.Text = "";
                    return;
                }
                else
                {
                    // Tạo DTo
                    DTO_Khachhangsuachua khCMND = new DTO_Khachhangsuachua(0, txbCMND.Text, "", "", "", "", dtpkNgaySinh.Value.Date);
                    // Tìm kiếm
                    DataTable dttb = null;
                    dttb = BUS_KHSC.getKhachHangSuaChua(khCMND);

                    if (dttb.Rows.Count > 0)
                    {
                        MessageBox.Show("Người này đã tồn tại!", "Thông báo", MessageBoxButtons.OK, MessageBoxIcon.Warning);
                        CapNhatDtgvKhachHang(dtgvKhachHang, this);
                        return;
                    }
                }

                if (txbSDT.Text.All(char.IsDigit) == false)
                {
                    MessageBox.Show("SĐT không hợp lệ!", "Thông báo", MessageBoxButtons.OK, MessageBoxIcon.Warning);
                    txbSDT.Text = "";
                    return;
                }

                string gioiTinh = "Khác";
                if (rbNam.Checked == true)
                {
                    gioiTinh = "Nam";
                }
                else
                {
                    gioiTinh = "Nữ";
                }


                // Tạo DTO
                DTO_Khachhangsuachua KHSC = new DTO_Khachhangsuachua(0, txbCMND.Text, txbTen.Text, txbDiaChi.Text, gioiTinh, txbSDT.Text, dtpkNgaySinh.Value.Date);
                //DTO_ThanhVien tv = new DTO_ThanhVien(0, txtName.Text, txtSDT.Text, txtEmail.Text); // Vì ID tự tăng nên để ID số gì cũng dc

                // Them
                if (BUS_KHSC.themKhachHangSuaChua(KHSC))
                {
                    MessageBox.Show("Thêm thành công!");
                    UC_QuanLiKhachHang This = this;
                    CapNhatDtgvKhachHang(dtgvKhachHang, This);
                }
                else
                {
                    MessageBox.Show("Thêm không thành công!", "Thông báo", MessageBoxButtons.OK, MessageBoxIcon.Warning);
                }
                // dtgvKhachHang.ClearSelection();
            }
            else
            {
                MessageBox.Show("Xin nhập vào không đầy đủ!", "Thông báo", MessageBoxButtons.OK, MessageBoxIcon.Exclamation);
            }
        }
 public bool suaKhachHangSuaChua(DTO_Khachhangsuachua KHSC)
 {
     return(dalKhachHangSuaChua.suaKhachHangSuaChua(KHSC));
 }
 public DataTable getThongTinXe(DTO_Khachhangsuachua KHSC)
 {
     return(dalKhachHangSuaChua.getThongTinXe(KHSC));
 }
 public DataTable getKhachHangSuaChua(DTO_Khachhangsuachua KHSC)
 {
     return(dalKhachHangSuaChua.getKhachHangSuaChua(KHSC));
 }