private void dgvkhuyenmai_CellDoubleClick(object sender, DataGridViewCellEventArgs e)
        {
            int i = e.RowIndex;
            if (i < 0)
                return;
            try
            {
                int id;
                DataGridViewRow row = dgvkhuyenmai.Rows[i];
                Entities.CapNhatGiaKhachHang nv = new Entities.CapNhatGiaKhachHang();
                id = int.Parse(row.Cells["CapNhatGiaKhachHangID"].Value.ToString());
                nv.MaHangHoa = row.Cells["MaHangHoa"].Value.ToString();
                nv.MaKhachHang = row.Cells["MaKhachHang"].Value.ToString();
                nv.NgayBatDau = DateTime.Parse(row.Cells["NgayBatDau"].Value.ToString());
                nv.NgayKetThuc = DateTime.Parse(row.Cells["NgayKetThuc"].Value.ToString());
                nv.MaCapNhatGiaKhachHang = row.Cells["MaCapNhatGiaKhachHang"].Value.ToString();
                nv.PhanTramChietKhau = float.Parse(row.Cells["PhanTramChietKhau"].Value.ToString());
                txtmahanghoa.Text = nv.MaHangHoa;
                txtmakhachhang.Text = nv.MaKhachHang;
                mktxtngaybatdau.Text = nv.NgayBatDau.ToShortDateString();
                mktxtngayketthuc.Text = nv.NgayKetThuc.ToShortDateString();
                txtmacapnhatgiakh.Text = nv.MaCapNhatGiaKhachHang;
                txtchietkhau.Text = nv.PhanTramChietKhau.ToString();
                DeleteKM(id);
                SelectData();

            }
            catch (Exception)
            {

            }
        }
        private void btnluuchinhsachgia_Click(object sender, EventArgs e)
        {
            try
            {
                if (CheckKT())
                {
                    if (txtchietkhau.Text == "")
                    { }
                    Server_Client.Client cl = new Server_Client.Client();
                    this.client1 = cl.Connect(Luu.IP, Luu.Ports);

                    Entities.CapNhatGiaKhachHang nv = new Entities.CapNhatGiaKhachHang();
                    string date3 = new Common.Utilities().MyDateConversion(mktxtngaybatdau.Text);
                    string date4 = new Common.Utilities().MyDateConversion(mktxtngayketthuc.Text);
                    nv = new Entities.CapNhatGiaKhachHang("Insert", 0, txtmacapnhatgiakh.Text, txtmahanghoa.Text, txtmakhachhang.Text, Convert.ToDateTime(date3), Convert.ToDateTime(date4), float.Parse(txtchietkhau.Text), false, Common.Utilities.User.NhanVienID, Common.Utilities.User.TenDangNhap);
                    clientstrem = cl.SerializeObj(this.client1, "CapNhatGiaKH", nv);
                    int msg = 0;
                    msg = (int)cl.DeserializeHepper(clientstrem, msg);
                    if (msg == 1)
                    {
                        txtmacapnhatgiakh.Text = new Common.Utilities().ProcessID(txtmacapnhatgiakh.Text);
                    }
                    else
                    {
                        MessageBox.Show("Thất Bại.....");
                        txtmakh.Text = new Common.Utilities().ProcessID(txtmakh.Text);
                        txtmacapnhatgiakh.Text = new Common.Utilities().ProcessID(txtmacapnhatgiakh.Text);
                    }
                    SelectData();
                    txtmahanghoa.Text = "";
                    mktxtngaybatdau.Text = "";
                    mktxtngayketthuc.Text = "";
                    txtchietkhau.Text = "";
                }
            }
            catch
            {
                MessageBox.Show("Kiểm tra dữ liệu nhập vào");
            }
        }
        /// <summary>
        /// Delete KM.
        /// </summary>
        /// <param name="km"></param>
        /// <returns></returns>
        public bool DeleteKM(int id)
        {
            bool retVal = false;
            try
            {
                Server_Client.Client cl = new Server_Client.Client();
                this.client1 = cl.Connect(Luu.IP, Luu.Ports);

                Entities.CapNhatGiaKhachHang nv = new Entities.CapNhatGiaKhachHang();
                nv.HanhDong = "Delete";
                nv.CapNhatGiaKhachHangID = id;
                clientstrem = cl.SerializeObj(this.client1, "CapNhatGiaKH", nv);
                int msg = 0;
                msg = (int)cl.DeserializeHepper(clientstrem, msg);
                if (msg > 0)
                    retVal = true;
            }
            catch (Exception)
            {
                retVal = false;
            }

            return retVal;
        }
        public void SelectData()
        {
            try
            {

                i = 0;
                dgvkhuyenmai.RowHeadersVisible = false;
                Server_Client.Client cl = new Server_Client.Client();
                // gán TCPclient
                this.client1 = cl.Connect(Luu.IP, Luu.Ports);
                // khởi tạo biến truyền vào với hàm khởi tạo
                Entities.CapNhatGiaKhachHang kh = new Entities.CapNhatGiaKhachHang();
                // truyền HanhDong
                kh = new Entities.CapNhatGiaKhachHang("Select", txtmakh.Text);
                // khởi tạo mảng đối tượng để hứng giá trị
                Entities.CapNhatGiaKhachHang[] cnkh = new Entities.CapNhatGiaKhachHang[1];
                clientstrem = cl.SerializeObj(this.client1, "CapNhatGiaKH", kh);
                // đổ mảng đối tượng vào datagripview
                cnkh = (Entities.CapNhatGiaKhachHang[])cl.DeserializeHepper1(clientstrem, cnkh);
                int sotang = 0;
                if (cnkh == null)
                {
                    dgvkhuyenmai.DataSource = new Entities.CapNhatGiaKhachHang[0];
                    return;
                }

                Entities.CapNhatGiaKhachHang[] pt3 = new Entities.CapNhatGiaKhachHang[cnkh.Length];
                for (int j = 0; j < cnkh.Length; j++)
                {

                    pt3[sotang] = cnkh[j];
                    sotang++;
                }
                hienthi5 = new Entities.CapNhatGiaKhachHang[sotang];
                if (sotang != 0)
                {
                    for (int j = 0; j < sotang; j++)
                    {
                        hienthi5[j] = pt3[j];
                    }
                }
                else
                {
                    dgvkhuyenmai.DataSource = new Entities.CapNhatGiaKhachHang[0];
                    return;
                }
                dgvkhuyenmai.DataSource = hienthi5;
                new Common.Utilities().CountDatagridview(dgvkhuyenmai);

                dgvkhuyenmai.Rows[0].Selected = true;
            }
            finally
            {
                try
                {
                    for (int j = 1; j < dgvkhuyenmai.ColumnCount; j++)
                    {
                        dgvkhuyenmai.Columns[j].Visible = false;
                    }
                    dgvkhuyenmai.Columns[0].Visible = false;
                    dgvkhuyenmai.Columns["MaCapNhatGiaKhachHang"].Visible = true;
                    dgvkhuyenmai.Columns["MaCapNhatGiaKhachHang"].HeaderText = "Mã Cập Nhật Giá Khách Hàng";
                    dgvkhuyenmai.Columns["MaHangHoa"].Visible = true;
                    dgvkhuyenmai.Columns["MaHangHoa"].HeaderText = "Mã Hàng Hóa";
                    dgvkhuyenmai.Columns["MaKhachHang"].Visible = true;
                    dgvkhuyenmai.Columns["MaKhachHang"].HeaderText = "Mã Khách Hàng";
                    dgvkhuyenmai.Columns["NgayBatDau"].Visible = true;
                    dgvkhuyenmai.Columns["NgayBatDau"].HeaderText = "Ngày Bắt Đầu";
                    dgvkhuyenmai.Columns["NgayKetThuc"].Visible = true;
                    dgvkhuyenmai.Columns["NgayKetThuc"].HeaderText = "Ngày Kết Thúc";
                    dgvkhuyenmai.Columns["PhanTramChietKhau"].Visible = true;
                    dgvkhuyenmai.Columns["PhanTramChietKhau"].HeaderText = "Phần Trăm Chiết Khấu";
                    dgvkhuyenmai.AutoSizeColumnsMode = DataGridViewAutoSizeColumnsMode.Fill;
                    dgvkhuyenmai.AllowUserToAddRows = false;
                    dgvkhuyenmai.AllowUserToDeleteRows = false;
                    dgvkhuyenmai.AllowUserToResizeRows = false;
                }
                catch
                {
                    MessageBox.Show("Xuất hiện lỗi");
                }
            }
        }
        /// <summary>
        /// select mã cập nhật khách hàng
        /// </summary>
        public void SelectMaCapNhatKH()
        {
            try
            {
                cl = new Server_Client.Client();
                // gán TCPclient
                this.client1 = cl.Connect(Luu.IP, Luu.Ports);
                // khởi tạo biến truyền vào với hàm khởi tạo
                Entities.CapNhatGiaKhachHang pt = new Entities.CapNhatGiaKhachHang("Select", txtManhacungcap.Text);
                // khởi tạo mảng đối tượng để hứng giá trị
                cngkh = new Entities.CapNhatGiaKhachHang[1];
                clientstrem = cl.SerializeObj(this.client1, "CapNhatGiaKH", pt);
                // đổ mảng đối tượng vào datagripview
                cngkh = (Entities.CapNhatGiaKhachHang[])cl.DeserializeHepper1(clientstrem, cngkh);
                if (cngkh == null)
                    cngkh = new Entities.CapNhatGiaKhachHang[0];
            }
            catch
            {
            }
            finally
            {

            }
        }