private void ChinhThoiGian(bool b_Tang)
        {
            string s_ID = s_IDBanNang;

            if (s_IDBanNang.Length < 2)
            {
                s_ID = "0" + s_IDBanNang;
            }
            int    i_TGPhatSinh   = Convert.ToInt32(txtThoiGianThayDoi.Text.ToString());
            string s_TGPhatSinh   = i_TGPhatSinh.ToString();
            string s_ModeTangGiam = b_Tang == true ? "1" : "0";
            string str            = "#TIME," + s_ID + "," + s_ModeTangGiam + "," + s_TGPhatSinh + ",*";

            if (i_TGPhatSinh > 0)
            {
                byte[] data = System.Text.Encoding.UTF8.GetBytes(str);
                TienIch.ComPort.serialPort_Send(data, 0, data.Length);
                if (b_Tang)
                {
                    i_TongTG += i_TGPhatSinh;
                }
                else
                {
                    i_TongTG -= i_TGPhatSinh;
                    if (i_TongTG < 0)
                    {
                        i_TongTG = 0;
                    }
                }
                DsBanNang ds = new DsBanNang();
                ds.UpdateThoiGianSuaChua(this.conn, this.s_IDBanNang, Convert.ToInt16(i_TongTG));
            }
        }
Ejemplo n.º 2
0
        private void GiamThoiGian()
        {
            string s_ID = this.s_MaBN;

            if (this.s_MaBN.Length < 2)
            {
                s_ID = "0" + this.s_MaBN;
            }
            string s_ModeTangGiam = "0"; //Giảm
            string str            = "#TIME," + s_ID + "," + s_ModeTangGiam + "," + i_TGConLai.ToString() + ",*";

            if (i_TGConLai > 0)
            {
                byte[] data = System.Text.Encoding.UTF8.GetBytes(str);
                TienIch.ComPort.serialPort_Send(data, 0, data.Length);

                i_TongTG -= i_TGConLai;
                if (i_TongTG < 0)
                {
                    i_TongTG = 0;
                }
                DsBanNang ds = new DsBanNang();
                ds.UpdateThoiGianSuaChua(this.conn, this.s_MaBN, Convert.ToInt16(i_TongTG));
            }
        }
Ejemplo n.º 3
0
 void btnDongY_LinkClicked(object sender, DevExpress.XtraNavBar.NavBarLinkEventArgs e)
 {
     if (txtGio.Text != "" && txtPhut.Text != "" && cbbDsBanNang.EditValue.ToString() != "")
     {
         Int32     i_TG = Convert.ToInt16(txtGio.Text) * 60 + Convert.ToInt16(txtPhut.Text);
         string    s_ID = cbbDsBanNang.EditValue.ToString();
         DsBanNang dsBN = new DsBanNang();
         dsBN.UpdateTrangThai(conn, s_ID, TrangThai.TrangThaiBanNang.DangSuaChua);
         dsBN.UpdateThongTinKH(conn, s_ID, s_MaQL, (short)i_TG);
         DsKhachHang dsKH = new DsKhachHang();
         dsKH.UpdateTrangThai(conn, s_MaQL, TrangThai.TrangThaiKhachHang.DangSuaChua);
         if (i_TG > 0)
         {
             string s_ThoiGian = Convert.ToDecimal(txtGio.Text == "" ? "0" : txtGio.Text).ToString("00") + ":" + Convert.ToDecimal(txtPhut.Text == "" ? "0" : txtPhut.Text).ToString("00");
             string str        = "#LED," + s_ID + "," + TienIch.Access.convertToUnSign3(s_HoTen).ToUpper() + "," + s_BienSoXe + "," + s_ThoiGian + "*";
             byte[] data       = System.Text.Encoding.UTF8.GetBytes(str);
             TienIch.ComPort.serialPort_Send(data, 0, data.Length);
         }
         this.Close();
     }
     else
     {
         MessageBox.Show("Dữ liệu không hợp lệ");
     }
 }
        private void btnDongY_Click(object sender, EventArgs e)
        {
            this.s_NewID          = txtID.Text.ToString().Trim();
            this.s_KyThuatVien    = txtKyThuatVien.Text;
            this.s_NoiDungHienThi = txtNoiDungHT.Text;

            if (b_Sua == true)
            {
                if (conn.State == ConnectionState.Open)
                {
                    DsBanNang ds = new DsBanNang();
                    ds.Insert(conn, this.s_NewID, this.s_KyThuatVien, this.s_NoiDungHienThi);
                }
            }

            //Gửi dữ liệu tới bảng LED
            string s_ID = this.s_NewID;

            if (this.s_NewID.Length < 2)
            {
                s_ID = "0" + this.s_NewID;
            }
            string s_CauChao = txtNoiDungHT.Text == "" ? " " : TienIch.Access.convertToUnSign3(txtNoiDungHT.Text).ToUpper();
            string str       = "#CFG," + s_ID + "," + s_CauChao + ",*";

            byte[] data = System.Text.Encoding.UTF8.GetBytes(str);
            TienIch.ComPort.serialPort_Send(data, 0, data.Length);


            this.Close();
        }
Ejemplo n.º 5
0
        private void btnXoaBanNang_ItemClick(object sender, DevExpress.XtraBars.ItemClickEventArgs e)
        {
            DialogResult dialogResult = XtraMessageBox.Show("Bạn muốn xóa thông tin bàn nâng ?", "Cảnh báo", MessageBoxButtons.YesNo, MessageBoxIcon.Question);

            if (dialogResult == DialogResult.Yes)
            {
                if (SqlConn == null || SqlConn.State != ConnectionState.Open)
                {
                    Database.Open(ref this.SqlConn);
                }
                if (SqlConn.State == ConnectionState.Open)
                {
                    try
                    {
                        string    s_ID = grvBanNang.GetRowCellValue(grvBanNang.FocusedRowHandle, "maql").ToString();
                        DsBanNang ds   = new DsBanNang();
                        ds.UpdateTrangThaiKichHoat(SqlConn, s_ID, TrangThai.TrangThaiKichHoatBanNang.KhongHoatDong);
                    }
                    catch
                    {
                    }
                    finally
                    {
                        CapNhatDuLieuGridView();
                    }
                }
            }
            else if (dialogResult == DialogResult.No)
            {
            }
        }
Ejemplo n.º 6
0
 public frmNhanKhachVaoBanNang(SqlConnection _conn, string _maql, string s__SerialPort)
 {
     InitializeComponent();
     this.conn   = _conn;
     this.s_MaQL = _maql;
     if (conn.State == ConnectionState.Open)
     {
         try
         {
             DsBanNang ds = new DsBanNang();
             DataTable dt = ds.LoadDsTheoTrangThai(conn, TrangThai.TrangThaiBanNang.ChoNhanXe);
             cbbDsBanNang.Properties.DataSource = dt;
             DsKhachHang dsKH = new DsKhachHang();
             DataTable   dtKH = dsKH.LoadTheoMaQL(conn, s_MaQL);
             if (dtKH != null && dtKH.Rows.Count > 0)
             {
                 DataRow r = dtKH.Rows[0];
                 s_HoTen    = r["hoten"].ToString();
                 s_BienSoXe = r["biensoxe"].ToString();
             }
         }
         catch
         {
             MessageBox.Show("Xử lý lỗi !", "Lỗi");
         }
     }
     this.s_SerialPort = s__SerialPort;
 }
Ejemplo n.º 7
0
        private void btnTaoBanNang_ItemClick(object sender, DevExpress.XtraBars.ItemClickEventArgs e)
        {
            frmTaoBanNang frm = new frmTaoBanNang();

            frm.ShowDialog();
            if (frm.s_NewID != "")
            {
                if (SqlConn == null || SqlConn.State != ConnectionState.Open)
                {
                    Database.Open(ref this.SqlConn);
                }
                if (SqlConn.State == ConnectionState.Open)
                {
                    try
                    {
                        DsBanNang ds = new DsBanNang();
                        ds.Insert(SqlConn, frm.s_NewID, frm.s_KyThuatVien, frm.s_NoiDungHienThi);
                    }
                    catch
                    {
                        MessageBox.Show("Xử lý lỗi !", "Lỗi");
                    }
                    finally
                    {
                        CapNhatDuLieuGridView();
                    }
                }
            }
        }
Ejemplo n.º 8
0
        private void btnDongY_Click(object sender, EventArgs e)
        {
            string s_ID = s_IDBanNang;

            if (s_IDBanNang.Length < 2)
            {
                s_ID = "0" + s_IDBanNang;
            }
            string s_Name     = txtKhachHang.Text == "" ? " " : txtKhachHang.Text;
            string s_BienSoXe = txtBienSoXe.Text == "" ? " " : txtBienSoXe.Text;
            string s_ThoiGian = Convert.ToDecimal(txtGio.Text == "" ? "0" : txtGio.Text).ToString("00") + ":" + Convert.ToDecimal(txtPhut.Text == "" ? "0" : txtPhut.Text).ToString("00");
            Int32  d_ThoiGian = Convert.ToInt16(txtGio.Text == "" ? "0" : txtGio.Text) * 60 + Convert.ToInt16(txtPhut.Text == "" ? "0" : txtPhut.Text);

            if (d_ThoiGian > 0)
            {
                string str  = "#LED," + s_ID + "," + TienIch.Access.convertToUnSign3(s_Name).ToUpper() + "," + s_BienSoXe.ToUpper() + "," + s_ThoiGian + "*";
                byte[] data = System.Text.Encoding.UTF8.GetBytes(str);
                Console.WriteLine(str);
                TienIch.ComPort.serialPort_Send(data, 0, data.Length);
                if (conn != null && conn.State == ConnectionState.Open)
                {
                    DsKhachHang ds_KH  = new DsKhachHang();
                    string      s_MaKH = ds_KH.Insert_ReturnMaQL(conn, s_Name, s_BienSoXe, txtGhiChu.Text.ToString().Trim());
                    DsBanNang   ds_BN  = new DsBanNang();
                    ds_BN.UpdateTrangThai(conn, s_IDBanNang, TrangThai.TrangThaiBanNang.DangSuaChua);
                    ds_BN.UpdateThongTinKH(conn, s_IDBanNang, s_MaKH, Convert.ToInt16(d_ThoiGian));
                }
                this.Close();
            }
            else
            {
                MessageBox.Show("Thông tin không hợp lệ\rVui lòng kiểm tra lại!", "Cảnh báo");
            }
        }
Ejemplo n.º 9
0
 private void btnTraXe_ItemClick(object sender, DevExpress.XtraBars.ItemClickEventArgs e)
 {
     try
     {
         string    s_IDBanNang           = grvBanNang.GetRowCellValue(grvBanNang.FocusedRowHandle, "maql").ToString();
         DsBanNang dsBN                  = new DsBanNang();
         TrangThai.TrangThaiBanNang ttBN = dsBN.LoadTrangThaiBanNang(SqlConn, s_IDBanNang);
         if (ttBN == TrangThai.TrangThaiBanNang.DangSuaChua)
         {
             frmTraXe frm = new frmTraXe(SqlConn, s_IDBanNang, s_SerialPort);
             frm.ShowDialog();
         }
     }
     catch { }
     finally
     {
         CapNhatDuLieuGridView();
     }
 }
Ejemplo n.º 10
0
        void CapNhatDuLieuGridView()
        {
            int i_TGConLai = 0;

            if (SqlConn == null || SqlConn.State != ConnectionState.Open)
            {
                Database.Open(ref this.SqlConn);
            }
            if (SqlConn.State == ConnectionState.Open)
            {
                try
                {
                    //Cập nhật thông số
                    TienIch.tshienthi ts = new tshienthi();
                    ts.LoadAll(SqlConn);
                    s_Header               = ts.Header;
                    s_Footer               = ts.Footer;
                    i_SoDongHienThi        = ts.SoDongHienThi;
                    iThoiGianHienThiDuLieu = ts.TGHienThi;
                    //
                    TienIch.DsKhachHang dskhachhang = new DsKhachHang();
                    dt_KhachHang = dskhachhang.LoadDSKHChoSuaChua(SqlConn);
                    if (bHienThiDuLieuMoi) //định kỳ 5s hiển thị dữ liệu
                    {
                        if (dt_KhachHang != null && dt_KhachHang.Rows.Count > 0)
                        {
                            DataTable dt_dsKH = new DataTable();
                            if (dt_KhachHang.Rows.Count < i_SoDongHienThi)
                            {
                                dt_dsKH           = dt_KhachHang.Copy();
                                iDsKhachHangIndex = 0;
                            }
                            else
                            {
                                dt_dsKH = dt_KhachHang.Clone();
                                if (iDsKhachHangIndex >= dt_KhachHang.Rows.Count)
                                {
                                    iDsKhachHangIndex = 0;
                                }
                                for (int i = 0; i < i_SoDongHienThi; i++)
                                {
                                    if ((iDsKhachHangIndex + i) < dt_KhachHang.Rows.Count)
                                    {
                                        dt_dsKH.ImportRow(dt_KhachHang.Rows[iDsKhachHangIndex + i]);
                                    }
                                    else
                                    {
                                        break;
                                    }
                                }
                                iDsKhachHangIndex += i_SoDongHienThi;
                                if (iDsKhachHangIndex >= dt_KhachHang.Rows.Count)
                                {
                                    iDsKhachHangIndex = 0;
                                }
                            }
                            grdKhachHang.DataSource = dt_dsKH;
                        }
                        else
                        {
                            grdKhachHang.DataSource = dt_KhachHang;
                            iDsKhachHangIndex       = 0;
                        }
                    }
                    ///////////////////////////////////////////////
                    TienIch.DsBanNang dsbannang = new DsBanNang();
                    dt_BanNang = dsbannang.LoadAll(SqlConn);
                    try
                    {
                        if (dt_BanNang != null && dt_BanNang.Rows.Count > 0)
                        {
                            dt_BanNang.Columns.Add("thoigianconlai", typeof(decimal)).DefaultValue = 0;
                            dt_BanNang.Columns.Add("trangthaibn", typeof(string)).DefaultValue     = "";
                            foreach (DataRow r in dt_BanNang.Rows)
                            {
                                TrangThai.TrangThaiBanNang TT_TrangThai = (TrangThai.TrangThaiBanNang)Convert.ToInt16(r["trangthai"].ToString());
                                r["trangthaibn"] = TienIch.TrangThai.TrangThaiBanNang2String((TrangThai.TrangThaiBanNang)Convert.ToInt16(r["trangthai"].ToString()));
                                DateTime TGCapNhat = r["thoigianbd"] == DBNull.Value ? DateTime.Now : Convert.ToDateTime(r["thoigianbd"]);
                                TimeSpan diff      = DateTime.Now.Subtract(TGCapNhat);
                                Int32    minutes   = Convert.ToInt32(Math.Ceiling(diff.TotalMinutes)); //Làm tròn lên để hiển thị khớp với bảng LED
                                if (r["tongthoigian"] == DBNull.Value)
                                {
                                    r["tongthoigian"] = 0;
                                }
                                i_TGConLai          = Convert.ToInt32(minutes) >= Convert.ToInt32(r["tongthoigian"]) ? 0 : Convert.ToInt32(r["tongthoigian"]) - Convert.ToInt32(minutes);
                                r["thoigianconlai"] = i_TGConLai;
                                if (TT_TrangThai != TrangThai.TrangThaiBanNang.DangSuaChua)
                                {
                                    r["hoten"]          = "";
                                    r["thoigianbd"]     = DateTime.MinValue;
                                    r["biensoxe"]       = "";
                                    r["thoigianconlai"] = -1;
                                    r["tongthoigian"]   = -1;
                                }
                            }
                        }
                    }
                    catch
                    {
                    }
                    if (bHienThiDuLieuMoi) //định kỳ 5s hiển thị dữ liệu
                    {
                        if (dt_BanNang != null && dt_BanNang.Rows.Count > 0)
                        {
                            DataTable dt_HienThi = new DataTable();
                            if (dt_BanNang.Rows.Count < i_SoDongHienThi)
                            {
                                dt_HienThi      = dt_BanNang.Copy();
                                iDsBanNangIndex = 0;
                            }
                            else
                            {
                                dt_HienThi = dt_BanNang.Clone();
                                if (iDsBanNangIndex >= dt_BanNang.Rows.Count)
                                {
                                    iDsBanNangIndex = 0;
                                }
                                for (int i = 0; i < i_SoDongHienThi; i++)
                                {
                                    if ((iDsBanNangIndex + i) < dt_BanNang.Rows.Count)
                                    {
                                        dt_HienThi.ImportRow(dt_BanNang.Rows[iDsBanNangIndex + i]);
                                    }
                                    else
                                    {
                                        break;
                                    }
                                }
                                iDsBanNangIndex += i_SoDongHienThi;
                                if (iDsBanNangIndex >= dt_BanNang.Rows.Count)
                                {
                                    iDsBanNangIndex = 0;
                                }
                            }
                            grdBanNang.DataSource = dt_HienThi;
                        }
                        else
                        {
                            grdBanNang.DataSource = dt_BanNang;
                            iDsBanNangIndex       = 0;
                        }
                    }
                    //////////////////////////////////////////////////////////////////////////////////////
                    DsTraXe ds_TraXe = new DsTraXe();
                    // Hiển thị lên grid
                    dt_TraXe = ds_TraXe.LoadDsChuaLayXe(SqlConn);
                    if (bHienThiDuLieuMoi) //định kỳ 5s hiển thị dữ liệu
                    {
                        if (dt_TraXe != null && dt_TraXe.Rows.Count > 0)
                        {
                            DataTable dt_HienThi = new DataTable();
                            if (dt_TraXe.Rows.Count < i_SoDongHienThi)
                            {
                                dt_HienThi    = dt_TraXe.Copy();
                                iDsTraXeIndex = 0;
                            }
                            else
                            {
                                dt_HienThi = dt_TraXe.Clone();
                                if (iDsTraXeIndex >= dt_TraXe.Rows.Count)
                                {
                                    iDsTraXeIndex = 0;
                                }
                                for (int i = 0; i < i_SoDongHienThi; i++)
                                {
                                    if ((iDsTraXeIndex + i) < dt_TraXe.Rows.Count)
                                    {
                                        dt_HienThi.ImportRow(dt_TraXe.Rows[iDsTraXeIndex + i]);
                                    }
                                    else
                                    {
                                        break;
                                    }
                                }
                                iDsTraXeIndex += i_SoDongHienThi;
                                if (iDsTraXeIndex >= dt_TraXe.Rows.Count)
                                {
                                    iDsTraXeIndex = 0;
                                }
                            }
                            grdTraXe.DataSource = dt_HienThi;
                        }
                        else
                        {
                            grdTraXe.DataSource = dt_TraXe;
                            iDsTraXeIndex       = 0;
                        }
                    }
                    // Chạy chữ footer
                    DataTable dt_KQTraXe = ds_TraXe.LoadDsHienThiThongBao(SqlConn);

                    if (dt_KQTraXe != null && dt_KQTraXe.Rows.Count > 0)
                    {
                        if (dt_ThongBaoLayXe == null)
                        {
                            dt_ThongBaoLayXe = dt_KQTraXe.Clone();// Clone() only clones the table structure. It does not also clone the data.
                        }
                        for (int i = 0; i < dt_KQTraXe.Rows.Count; i++)
                        {
                            bool isDupe = false;
                            for (int j = 0; j < dt_ThongBaoLayXe.Rows.Count; j++)
                            {
                                if (dt_KQTraXe.Rows[i][0].ToString() == dt_ThongBaoLayXe.Rows[j][0].ToString())
                                {
                                    isDupe = true;
                                    break;
                                }
                            }

                            if (!isDupe)
                            {
                                dt_ThongBaoLayXe.ImportRow(dt_KQTraXe.Rows[i]);
                            }
                        }
                    }
                }
                catch
                {
                }
            }
        }
Ejemplo n.º 11
0
        void CapNhatDuLieuGridView()
        {
            int    i_TongBanNang           = 0;
            int    i_BanNangBan            = 0;
            int    i_TGConLai              = 0;
            int    i_BanNang_SelectIndex   = 0;
            int    i_KhachHang_SelectIndex = 0;
            int    i_TraXe_SelectIndex     = 0;
            string s_BanNangSuaChuaXong    = "";

            if (SqlConn == null || SqlConn.State != ConnectionState.Open)
            {
                Database.Open(ref this.SqlConn);
            }
            if (SqlConn.State == ConnectionState.Open)
            {
                try
                {
                    i_BanNang_SelectIndex   = grvBanNang.FocusedRowHandle;
                    i_KhachHang_SelectIndex = grvKhachHang.FocusedRowHandle;
                    i_TraXe_SelectIndex     = grvTraXe.FocusedRowHandle;

                    TienIch.DsKhachHang dskhachhang = new DsKhachHang();
                    DataTable           dt_DsKH     = dskhachhang.LoadDSKHChoSuaChua(SqlConn);
                    grdKhachHang.DataSource = dt_DsKH;

                    TienIch.DsBanNang dsbannang = new DsBanNang();
                    DataTable         dt_DsBN   = dsbannang.LoadTheoTrangThaiKichHoat(SqlConn, TrangThai.TrangThaiKichHoatBanNang.HoatDong);

                    TienIch.DsTraXe ds_TraXe = new DsTraXe();
                    DataTable       dt_TraXe = ds_TraXe.LoadDsChuaLayXe(SqlConn);
                    grdTraXe.DataSource = dt_TraXe;

                    try
                    {
                        if (dt_DsBN != null && dt_DsBN.Rows.Count > 0)
                        {
                            dt_DsBN.Columns.Add("thoigianconlai", typeof(decimal)).DefaultValue = 0;
                            dt_DsBN.Columns.Add("trangthaibn", typeof(string)).DefaultValue     = "";
                            i_TongBanNang = dt_DsBN.Rows.Count;
                            foreach (DataRow r in dt_DsBN.Rows)
                            {
                                TrangThai.TrangThaiBanNang TT_TrangThai = (TrangThai.TrangThaiBanNang)Convert.ToInt16(r["trangthai"].ToString());
                                r["trangthaibn"] = TienIch.TrangThai.TrangThaiBanNang2String((TrangThai.TrangThaiBanNang)Convert.ToInt16(r["trangthai"].ToString()));
                                DateTime TGCapNhat = r["thoigianbd"] == DBNull.Value ? DateTime.Now : Convert.ToDateTime(r["thoigianbd"]);
                                TimeSpan diff      = DateTime.Now.Subtract(TGCapNhat);
                                //double minutes = diff.TotalMinutes;
                                Int32 minutes = Convert.ToInt32(Math.Ceiling(diff.TotalMinutes)); //Làm tròn lên để hiển thị khớp với bảng LED
                                if (r["tongthoigian"] == DBNull.Value)
                                {
                                    r["tongthoigian"] = 0;
                                }
                                i_TGConLai          = Convert.ToInt32(minutes) >= Convert.ToInt32(r["tongthoigian"]) ? 0 : Convert.ToInt32(r["tongthoigian"]) - Convert.ToInt32(minutes);
                                r["thoigianconlai"] = i_TGConLai;
                                if (TT_TrangThai != TrangThai.TrangThaiBanNang.DangSuaChua)
                                {
                                    r["hoten"]          = "";
                                    r["thoigianbd"]     = DateTime.MinValue;
                                    r["biensoxe"]       = "";
                                    r["thoigianconlai"] = -1;
                                    r["tongthoigian"]   = -1;
                                }
                                if (i_TGConLai <= 0 && TT_TrangThai == TrangThai.TrangThaiBanNang.DangSuaChua)
                                {
                                    s_BanNangSuaChuaXong += String.Format("[{0}]", r["maql"].ToString());
                                }
                            }
                        }
                        lblSLBanNang.Caption  = String.Format("Hoạt động: {0}/{1}", i_BanNangBan, i_TongBanNang);
                        grdBanNang.DataSource = dt_DsBN;

                        grvBanNang.FocusedRowHandle   = i_BanNang_SelectIndex;
                        grvKhachHang.FocusedRowHandle = i_KhachHang_SelectIndex;
                        grvTraXe.FocusedRowHandle     = i_TraXe_SelectIndex;
                    }
                    catch
                    {
                    }
                }
                catch
                {
                }
                finally
                {
                    if (s_BanNangSuaChuaXong != s_NhacNhoTraXe)
                    {
                        s_NhacNhoTraXe = s_BanNangSuaChuaXong;
                        if (s_NhacNhoTraXe != "")
                        {
                            ntfNhacNho.Visible         = true;
                            ntfNhacNho.Icon            = SystemIcons.Exclamation;
                            ntfNhacNho.BalloonTipTitle = "IKY-LED";
                            ntfNhacNho.BalloonTipText  = "Bàn nâng " + s_NhacNhoTraXe + " đã sửa chữa xong";
                            ntfNhacNho.BalloonTipIcon  = ToolTipIcon.Warning;
                            ntfNhacNho.ShowBalloonTip(10000);
                        }
                    }
                }
            }
        }
Ejemplo n.º 12
0
        private void frmTiepNhanXe_Load(object sender, EventArgs e)
        {
            if (this.conn == null || this.conn.State != ConnectionState.Open)
            {
                Database.Open(ref this.conn);
            }

            if (conn.State == ConnectionState.Open)
            {
                try
                {
                    DsBanNang ds = new DsBanNang();
                    DataTable dt = ds.LoadDsTheoID(conn, this.s_IDBanNang);
                    if (dt != null && dt.Rows.Count > 0)
                    {
                        DataRow r = dt.Rows[dt.Rows.Count - 1];
                        txtBanNang.Text     = r["maql"].ToString();
                        txtKyThuatVien.Text = r["kythuatvien"].ToString();
                    }
                }
                catch
                {
                    MessageBox.Show("Xử lý lỗi !", "Lỗi");
                }
                TienIch.DsKhachHang dsKH = new TienIch.DsKhachHang();
                dt_HoTen    = dsKH.LoadHoTen(this.conn);
                dt_BienSoXe = dsKH.LoadBienSoXe(this.conn);
            }

            if (dt_HoTen != null && dt_HoTen.Rows.Count > 0) //Thêm gợi ý
            {
                string[] hotenSource = dt_HoTen
                                       .AsEnumerable()
                                       .Select <System.Data.DataRow, String>(x => x.Field <String>("hoten"))
                                       .ToArray();

                AutoCompleteStringCollection collection = new AutoCompleteStringCollection();
                collection.AddRange(hotenSource);

                txtKhachHang.MaskBox.AutoCompleteCustomSource = collection;
                txtKhachHang.MaskBox.AutoCompleteSource       = AutoCompleteSource.CustomSource;
                txtKhachHang.MaskBox.AutoCompleteMode         = AutoCompleteMode.SuggestAppend;
            }

            if (dt_BienSoXe != null && dt_BienSoXe.Rows.Count > 0) //Thêm gợi ý
            {
                string[] biensoxeSource = dt_BienSoXe
                                          .AsEnumerable()
                                          .Select <System.Data.DataRow, String>(x => x.Field <String>("biensoxe"))
                                          .ToArray();

                AutoCompleteStringCollection collection = new AutoCompleteStringCollection();
                collection.AddRange(biensoxeSource);

                txtBienSoXe.MaskBox.AutoCompleteCustomSource = collection;
                txtBienSoXe.MaskBox.AutoCompleteSource       = AutoCompleteSource.CustomSource;
                txtBienSoXe.MaskBox.AutoCompleteMode         = AutoCompleteMode.SuggestAppend;
            }

            TienIch.ComPort.serialPort_Open(s_SerialPort, false);
            TienIch.ComPort.Callback_ReceivedData += new TienIch.ComPort.CallbackEventHandler_ReceivedData(LoadThongTinThe);
        }