Exemplo n.º 1
0
 /// <summary>
 /// Kết thúc cảnh báo, dạng không xử lý cảnh báo
 /// </summary>
 private void KetThucCanhBao(CanhBaoDieuApp canhBao, CanhBaoDieuAppKetThuc canhBaoKetThuc, string noiDungXuLy)
 {
     canhBaoKetThuc.Id           = canhBao.Id;
     canhBaoKetThuc.BookId       = canhBao.BookId;
     canhBaoKetThuc.IdCuocGoi    = canhBao.IdCuocGoi;
     canhBaoKetThuc.NoiDung      = canhBao.NoiDung;
     canhBaoKetThuc.SoDienThoai  = canhBao.SoDienThoai;
     canhBaoKetThuc.DiaChiDon    = canhBao.DiaChiDon;
     canhBaoKetThuc.SoXe         = canhBao.SoXe;
     canhBaoKetThuc.ThoiGianNhan = canhBao.ThoiGianNhan;
     canhBaoKetThuc.Line         = canhBao.Line;
     canhBaoKetThuc.NguoiNhan    = canhBao.NguoiNhan;
     canhBaoKetThuc.ThoiGianXuLy = DieuHanhTaxi.GetTimeServer();
     canhBaoKetThuc.NguoiXuLy    = canhBao.NguoiXuLy;
     canhBaoKetThuc.TrangThai    = (int)Enum_G5_PMDH_CanhBaoApp_Status.DaGiaiQuyet;
     canhBaoKetThuc.Type         = canhBao.Type;
     canhBaoKetThuc.NoiDungXuLy  = noiDungXuLy;
     try
     {
         _lstObjectTruocThayDoi.Remove(canhBao);
         grcCanhBaoDieuApp.RefreshDataSource();
         canhBao.Delete();      // delete
         canhBaoKetThuc.Save(); //if() update else inser
     }
     catch (Exception)
     {
         new Taxi.MessageBox.MessageBoxBA().Show(this, "Lỗi, không kết thúc được cuốc này.", "Thông báo",
                                                 Taxi.MessageBox.MessageBoxButtonsBA.OK, Taxi.MessageBox.MessageBoxIconBA.Error);
     }
 }
Exemplo n.º 2
0
        /// <summary>
        /// Kiểm tra các bản ghi thay đổi và các bản ghi bị xóa
        /// </summary>
        /// <returns>True: nếu có dữ liệu thay đổi, ngược lại: False</returns>
        public bool GetUpdateData(ref bool pIsNew, ref DateTime pMaxDate, ref string pContent)
        {
            DateTime maxDate = DateTime.MinValue;
            bool     isNew   = false;
            string   content = "";
            //kiểm tra các bản ghi thay đổi
            List <CanhBaoDieuApp> lstRecordNew = CanhBaoDieuApp.Inst.KiemTraBanGhiThayDoiVaThemMoi(_line, _thoiDiemTruocThayDoiDuLieu);

            if (lstRecordNew.Count > 0)
            {
                g_isThayDoiDuLieu = true;

                for (int i = 0; i < lstRecordNew.Count; i++)
                {
                    CanhBaoDieuApp item     = lstRecordNew[i];
                    bool           isUpdate = false;
                    for (int j = 0; j < _lstObjectTruocThayDoi.Count; j++)
                    {
                        if (item.Id == _lstObjectTruocThayDoi[j].Id)
                        {
                            isUpdate = true;
                            Copy(_lstObjectTruocThayDoi[j], item);
                            break;
                        }
                    }
                    if (!isUpdate)
                    {
                        _lstObjectTruocThayDoi.Insert(0, item);
                        isNew   = true;
                        content = "SĐT: " + item.SoDienThoai + ": " + item.NoiDung;
                        if (item.Type == (int)Enum_G5_PMDH_CanhBaoApp_Type.Row_Red_Sound)
                        {
                            SoundUtils.PlaySoundAlert();
                        }
                    }
                    if (item.ThoiGianXuLy > maxDate)//*sign
                    {
                        maxDate = item.ThoiGianXuLy;
                    }
                }
            }
            else
            {
                g_isThayDoiDuLieu = false;
            }

            if (maxDate > pMaxDate)
            {
                pMaxDate = maxDate;
            }
            pIsNew   = isNew;
            pContent = content;
            return(g_isThayDoiDuLieu);
        }
Exemplo n.º 3
0
 /// <summary>
 /// Sao chép dữ liệu giữa 2 đối tượng
 /// </summary>
 /// <param name="o1">Object cần thay đổi</param>
 /// <param name="o2">Object để lấy dữ liệu cần sao chép</param>
 private void Copy(CanhBaoDieuApp o1, CanhBaoDieuApp o2)
 {
     o1.BookId       = o2.BookId;
     o1.NoiDung      = o2.NoiDung;
     o1.SoDienThoai  = o2.SoDienThoai;
     o1.DiaChiDon    = o2.DiaChiDon;
     o1.SoXe         = o2.SoXe;
     o1.ThoiGianNhan = o2.ThoiGianNhan;
     o1.Line         = o2.Line;
     o1.NguoiNhan    = o2.NguoiNhan;
     o1.ThoiGianXuLy = o2.ThoiGianXuLy;
     o1.NguoiXuLy    = o2.NguoiXuLy;
     o1.TrangThai    = o2.TrangThai;
     o1.Type         = o2.Type;
     o1.NoiDungXuLy  = o2.NoiDungXuLy;
 }
Exemplo n.º 4
0
        private void grvCanhBaoDieuApp_KeyDown(object sender, KeyEventArgs e)
        {
            #region ===Lệnh===
            CanhBaoDieuApp canhBaoDieuApp  = grvCanhBaoDieuApp.GetFocusedRow() as CanhBaoDieuApp;
            bool           hasThucHienLenh = false; // dung de xac dinh có thay đổi dữ liệu và gọi update
            var            msgDialog       = new Taxi.MessageBox.MessageBoxBA();

            #region ===1. Mời khách===
            if (e.KeyCode == Keys.D1 || e.KeyCode == Keys.NumPad1)
            {
                //kết thúc trong bảng cảnh báo chuyển sang cất vào bảng cảnh báo điếu app kết thúc
                if (_cuocGoi.KieuCuocGoi == KieuCuocGoi.GoiTaxi &&
                    !string.IsNullOrEmpty(_cuocGoi.XeNhan) &&
                    (_cuocGoi.LenhLaiXe.Contains(LENH_MOIKHACH) ||
                     _cuocGoi.LenhLaiXe.Contains(DIEUHANHMOIKHACH) ||
                     _cuocGoi.LenhLaiXe.Contains(KHONGLIENLACDUOC) ||
                     _cuocGoi.LenhLaiXe.Contains(DAGOIKHACHHANG)))
                {
                    _cuocGoi.LenhDienThoai = LENH_DAMOI;
                    if (_cuocGoi.G5_Type == Enum_G5_Type.DieuApp)
                    {
                        if (Config_Common.DienThoai_DieuApp_DaMoiCmdId >= 0)
                        {
                            G5ServiceSyn.SendText(_cuocGoi.XeNhan, _cuocGoi.LenhDienThoai, _cuocGoi.BookId, _cuocGoi.IDCuocGoi, ThongTinDangNhap.USER_ID, _cuocGoi.LoaiCuocKhach == LoaiCuocKhach.ChoKhachHopDong, Config_Common.DienThoai_DieuApp_DaMoiCmdId);
                        }
                        else
                        {
                            G5ServiceSyn.SendACKInvite(_cuocGoi.BookId, _cuocGoi.XeNhan, true, _cuocGoi.LenhDienThoai, _cuocGoi.LoaiCuocKhach == LoaiCuocKhach.ChoKhachHopDong);
                        }
                    }
                    _cuocGoi.TrangThaiLenh = TrangThaiLenhTaxi.DienThoai;
                    hasThucHienLenh        = true;
                }
                else
                {
                    msgDialog.Show(this,
                                   String.Format(
                                       "[Lệnh {0}] Cuội gọi phải là cuộc gọi taxi, điều app và đã có xe nhận.",
                                       LENH_DAMOI),
                                   "Thông báo", Taxi.MessageBox.MessageBoxButtonsBA.OK, Taxi.MessageBox.MessageBoxIconBA.Error);
                }
            }
            #endregion

            #region === Not use ===

            #region ===2. Gặp xe ===
            //else if (e.KeyCode == Keys.D2 || e.KeyCode == Keys.NumPad2)
            //{
            //    // thực hiện khi có xe nhận
            //    if (_cuocGoi.KieuCuocGoi == KieuCuocGoi.GoiTaxi && !string.IsNullOrEmpty(_cuocGoi.XeNhan) &&
            //        _cuocGoi.G5_Type == Enum_G5_Type.ChuyenSangDam)
            //    {
            //        _cuocGoi.LenhDienThoai = LENH_GAPXE;
            //        _cuocGoi.TrangThaiLenh = TrangThaiLenhTaxi.DienThoai;
            //        hasThucHienLenh = true;
            //        G5ServiceSyn.SendCatchUserSyn(_cuocGoi.BookId);
            //    }
            //    else
            //    {
            //        msgDialog.Show(this,
            //            String.Format(
            //                "[Lệnh {0}] Cuội gọi phải là cuộc gọi taxi và cuốc điều đàm. và đã có xe nhận.",
            //                LENH_GAPXE),
            //            "Thông báo", Taxi.MessageBox.MessageBoxButtons.OK, Taxi.MessageBox.MessageBoxIcon.Error);
            //    }
            //}
            #endregion

            #region ===3. Đã xin lỗi ===
            //else if (e.KeyCode == Keys.D3 || e.KeyCode == Keys.NumPad3)
            //{
            //    if (_cuocGoi.KieuCuocGoi == KieuCuocGoi.GoiTaxi && _cuocGoi.G5_Type == Enum_G5_Type.ChuyenSangDam &&
            //        (_cuocGoi.TrangThaiCuocGoi == TrangThaiCuocGoiTaxi.CuocGoiKhongXe ||
            //            _cuocGoi.TrangThaiCuocGoi == TrangThaiCuocGoiTaxi.CuocGoiKhongXeLan1) &&
            //        (_cuocGoi.XeNhan == null || _cuocGoi.XeNhan.Length <= 0))
            //    {
            //        _cuocGoi.LenhDienThoai = LENH_DAXINLOI;
            //        _cuocGoi.TrangThaiCuocGoi = TrangThaiCuocGoiTaxi.CuocGoiKhongXe;
            //        _cuocGoi.TrangThaiLenh = TrangThaiLenhTaxi.KetThuc;
            //        hasThucHienLenh = true;
            //    }
            //    else
            //    {
            //        msgDialog.Show(this,
            //            string.Format(
            //                "[Lệnh {0}] Cuội gọi phải là cuộc gọi taxi và cuốc điều đàm. và chưa có xe nhận.",
            //                LENH_DAXINLOI),
            //            "Thông báo",
            //            Taxi.MessageBox.MessageBoxButtons.OK,
            //            Taxi.MessageBox.MessageBoxIcon.Error);
            //    }
            //}
            #endregion

            #region ===4. Máy bận ===
            //else if (e.KeyCode == Keys.D4 || e.KeyCode == Keys.NumPad4)
            //{
            //    if (_cuocGoi.KieuCuocGoi == KieuCuocGoi.GoiTaxi && _cuocGoi.LenhLaiXe == LENH_MOIKHACH)
            //    {
            //        _cuocGoi.LenhDienThoai = LENH_MAYBAN;
            //        _cuocGoi.TrangThaiLenh = TrangThaiLenhTaxi.DienThoai;
            //        hasThucHienLenh = true;
            //        G5ServiceSyn.SendText(bienSo, LENH_MAYBAN, _cuocGoi.BookId);
            //    }
            //    else
            //    {
            //        msgDialog.Show(this,
            //            String.Format("[Lệnh {0}] Cuội gọi phải là cuộc gọi taxi và lái xe yêu cầu mời khách và đã có xe nhận.", LENH_MAYBAN),
            //            "Thông báo",
            //            Taxi.MessageBox.MessageBoxButtons.OK, Taxi.MessageBox.MessageBoxIcon.Error);
            //    }
            //}
            #endregion

            #region ===5. Không liên lạc được ===
            //else if (e.KeyCode == Keys.D5 || e.KeyCode == Keys.NumPad5)
            //{
            //    if (_cuocGoi.KieuCuocGoi == KieuCuocGoi.GoiTaxi && _cuocGoi.LenhLaiXe == LENH_MOIKHACH)
            //    {
            //        _cuocGoi.LenhDienThoai = LENH_KHONGLIENLACDUOC;
            //        _cuocGoi.TrangThaiLenh = TrangThaiLenhTaxi.DienThoai;
            //        hasThucHienLenh = true;
            //        G5ServiceSyn.SendText(bienSo, LENH_KHONGLIENLACDUOC, _cuocGoi.BookId);
            //    }
            //    else
            //    {
            //        msgDialog.Show(this,
            //            String.Format("[Lệnh {0}] Cuội gọi phải là cuộc gọi taxi và lái xe yêu cầu mời khách và đã có xe nhận.",
            //                LENH_KHONGLIENLACDUOC),
            //            "Thông báo", Taxi.MessageBox.MessageBoxButtons.OK, Taxi.MessageBox.MessageBoxIcon.Error);
            //    }
            //}
            #endregion

            #region ===6. Không nghe máy ===
            //else if (e.KeyCode == Keys.D6 || e.KeyCode == Keys.NumPad6)
            //{
            //    if (_cuocGoi.KieuCuocGoi == KieuCuocGoi.GoiTaxi && _cuocGoi.LenhLaiXe == LENH_MOIKHACH)
            //    {
            //        _cuocGoi.LenhDienThoai = LENH_KHONGNGHEMAY;
            //        _cuocGoi.TrangThaiLenh = TrangThaiLenhTaxi.DienThoai;
            //        hasThucHienLenh = true;
            //        G5ServiceSyn.SendText(bienSo, LENH_KHONGNGHEMAY, _cuocGoi.BookId);
            //    }
            //    else
            //    {
            //        msgDialog.Show(this,
            //            String.Format("[Lệnh {0}] Cuội gọi phải là cuộc gọi taxi và lái xe yêu cầu mời khách và đã có xe nhận.",
            //                LENH_KHONGNGHEMAY),
            //            "Thông báo", Taxi.MessageBox.MessageBoxButtons.OK, Taxi.MessageBox.MessageBoxIcon.Error);
            //    }
            //}
            #endregion

            #region ===7. Không nói gì ===
            //else if (e.KeyCode == Keys.D7 || e.KeyCode == Keys.NumPad7)
            //{
            //    if (_cuocGoi.KieuCuocGoi == KieuCuocGoi.GoiTaxi && _cuocGoi.LenhLaiXe == LENH_MOIKHACH)
            //    {
            //        if (Config_Common.CauHinhTextLenh7 == 1)
            //        {
            //            _cuocGoi.LenhDienThoai = "Gọi nhiều ko nghe";
            //        }
            //        else
            //        {
            //            _cuocGoi.LenhDienThoai = LENH_KHONGNOIGI;
            //        }

            //        if (Config_Common.CauHinhKetThucCuocLenh7 == 1)//cho phép kết thúc cuốc luôn
            //        {
            //            _cuocGoi.TrangThaiLenh = TrangThaiLenhTaxi.KetThuc;
            //        }
            //        _cuocGoi.TrangThaiCuocGoi = TrangThaiCuocGoiTaxi.CuocGoiKhongXe;
            //        hasThucHienLenh = true;
            //        G5ServiceSyn.SendText(bienSo, _cuocGoi.LenhDienThoai, _cuocGoi.BookId);
            //    }
            //    else
            //    {
            //        msgDialog.Show(this,
            //            String.Format("[Lệnh {0}] Cuội gọi phải là cuộc gọi taxi và lái xe yêu cầu mời khách và đã có xe nhận.",
            //                LENH_KHONGNOIGI),
            //            "Thông báo", Taxi.MessageBox.MessageBoxButtons.OK, Taxi.MessageBox.MessageBoxIcon.Error);
            //    }
            //}
            #endregion

            #region ===8. Hủy xe/Hoãn ===
            //else if (e.KeyCode == Keys.D8 || e.KeyCode == Keys.NumPad8)
            //{
            //    if (_cuocGoi.LenhLaiXe ==LENH_MOIKHACH && _cuocGoi.BookId != Guid.Empty)
            //    {
            //        string dialog = msgDialog.Show(
            //        string.Format("Hủy xe / Hoãn {0}...?", _cuocGoi.DiaChiDonKhach), "Thông báo",
            //        Taxi.MessageBox.MessageBoxButtons.YesNo, Taxi.MessageBox.MessageBoxIcon.Question);
            //        if (dialog == "Yes")
            //        {
            //            _cuocGoi.LenhDienThoai = LENH_HUYXE;
            //            _cuocGoi.TrangThaiLenh = TrangThaiLenhTaxi.KetThucCuaDienThoai;
            //            hasThucHienLenh = true;

            //            #region Gửi đã Hoãn tới Cho fastTaxi nếu là cuốc của fastTaxi

            //            G5ServiceSyn.SendOperatorCancel(_cuocGoi.BookId);

            //            if (_cuocGoi.FT_IsFT)
            //                ProcessFastTaxi.SendFastTaxi(_cuocGoi, Enum_FastTaxi_Status.Hoan_DaHoan);

            //            #endregion

            //            // Gửi hủy cho lái xe
            //            G5ServiceSyn.SendOperatorCancel(_cuocGoi.BookId);
            //        }
            //        else
            //        {
            //            return;
            //        }
            //    }
            //    else
            //    {
            //        _cuocGoi.LenhDienThoai = LENH_HUYXE;
            //        hasThucHienLenh = true;
            //    }

            //}
            #endregion
            #endregion

            #region ===9. Giữ rồi ===
            else if (e.KeyCode == Keys.D9 || e.KeyCode == Keys.NumPad9)
            {
                if (_cuocGoi.KieuCuocGoi == KieuCuocGoi.GoiTaxi && _cuocGoi.G5_Type == Enum_G5_Type.DieuApp && _cuocGoi.LenhLaiXe == GIUKHACH)
                {
                    _cuocGoi.LenhDienThoai = LENH_GIUROI;
                    G5ServiceSyn.SendText(_cuocGoi.XeNhan, "Đã giữ khách", _cuocGoi.BookId, _cuocGoi.IDCuocGoi, ThongTinDangNhap.USER_ID, _cuocGoi.LoaiCuocKhach == LoaiCuocKhach.ChoKhachHopDong);
                    _cuocGoi.TrangThaiLenh = TrangThaiLenhTaxi.DienThoai;
                    hasThucHienLenh        = true;
                }
                else
                {
                    msgDialog.Show(this,
                                   String.Format("[Lệnh {0}] Cuội gọi phải là cuộc gọi taxi và cuốc điều đàm.", LENH_GIUROI),
                                   "Thông báo",
                                   Taxi.MessageBox.MessageBoxButtonsBA.OK, Taxi.MessageBox.MessageBoxIconBA.Error);
                }
            }
            #endregion

            #region === Gửi số điện thoại cho lái xe ===
            // có cho số
            if (e.KeyCode == Keys.Y)
            {
                if (_cuocGoi.KieuCuocGoi == KieuCuocGoi.GoiTaxi && _cuocGoi.G5_Type == Enum_G5_Type.DieuApp && canhBaoDieuApp.CmdId == 50)
                {
                    _cuocGoi.LenhDienThoai = "Đã gửi SĐT";
                    G5ServiceSyn.SendText(_cuocGoi.XeNhan, _cuocGoi.PhoneNumber, _cuocGoi.BookId, _cuocGoi.IDCuocGoi, ThongTinDangNhap.USER_ID, _cuocGoi.LoaiCuocKhach == LoaiCuocKhach.ChoKhachHopDong, canhBaoDieuApp.CmdId);
                    _cuocGoi.TrangThaiLenh = TrangThaiLenhTaxi.DienThoai;
                    hasThucHienLenh        = true;
                    KetThucCanhBao(canhBaoDieuApp.Id, "Đã gửi SĐT");
                }
            }
            //Không cho số
            if (e.KeyCode == Keys.N)
            {
                if (_cuocGoi.KieuCuocGoi == KieuCuocGoi.GoiTaxi && _cuocGoi.G5_Type == Enum_G5_Type.DieuApp && canhBaoDieuApp.CmdId == 50)
                {
                    _cuocGoi.LenhDienThoai = "Không cho số";
                    G5ServiceSyn.SendText(_cuocGoi.XeNhan, _cuocGoi.PhoneNumber, _cuocGoi.BookId, _cuocGoi.IDCuocGoi, ThongTinDangNhap.USER_ID, _cuocGoi.LoaiCuocKhach == LoaiCuocKhach.ChoKhachHopDong, canhBaoDieuApp.CmdId, false);
                    _cuocGoi.TrangThaiLenh = TrangThaiLenhTaxi.DienThoai;
                    hasThucHienLenh        = true;
                    KetThucCanhBao(canhBaoDieuApp.Id, "Không cho số");
                }
            }
            #endregion

            #region === Trượt: không gửi số điện thoại cho lái xe ===
            if (e.KeyCode == Keys.T)
            {
                if (_cuocGoi.KieuCuocGoi == KieuCuocGoi.GoiTaxi &&
                    _cuocGoi.XeNhan != null && _cuocGoi.XeNhan != "")
                {
                    if (_cuocGoi.G5_Type == Enum_G5_Type.DieuApp)
                    {
                        if (Config_Common.DienThoai_DieuApp_CanhBaoMatKetNoiVoiServerDieuHanh)
                        {
                            if ((G5ServiceSyn.PingServer != Enum_G5_Ping.PingSu && _cuocGoi.LoaiCuocKhach != LoaiCuocKhach.ChoKhachHopDong) ||
                                (G5ServiceSyn.PingServer_XHD != Enum_G5_Ping.PingSu && _cuocGoi.LoaiCuocKhach == LoaiCuocKhach.ChoKhachHopDong))
                            {
                                if (_cuocGoi.G5_Type == Enum_G5_Type.DieuApp)
                                {
                                    msgDialog.Show(this, "Đang mất kết nối tới Server ĐH.", "Thông báo", Taxi.MessageBox.MessageBoxButtonsBA.OK, Taxi.MessageBox.MessageBoxIconBA.Error);
                                    return;
                                }
                            }
                        }
                        //Nếu là cuốc điều app và có xe dừng điểm hoặc thời gian vượt quá 5 phút thì cho trượt
                        if ((_cuocGoi.XeDungDiem != null && _cuocGoi.XeDungDiem != "") ||
                            (Config_Common.DienThoai_DieuApp_Truot == 0 || (DieuHanhTaxi.GetTimeServer() - (_cuocGoi.G5_SendDate ?? _cuocGoi.ThoiDiemGoi)).TotalMinutes > Config_Common.DienThoai_DieuApp_Truot) ||
                            (!string.IsNullOrEmpty(_cuocGoi.XeNhan) && Config_Common.DienThoai_DieuApp_TruotKhiCoXeNhan)
                            )
                        {
                            string dialog = msgDialog.Show(string.Format("{1} {0}...?", _cuocGoi.DiaChiDonKhach, LENH_TRUOTCHUA), "Thông báo",
                                                           Taxi.MessageBox.MessageBoxButtonsBA.YesNo, Taxi.MessageBox.MessageBoxIconBA.Question);
                            if (dialog == "Yes")
                            {
                                _cuocGoi.LenhDienThoai    = LENH_TRUOTCHUA;
                                _cuocGoi.TrangThaiCuocGoi = TrangThaiCuocGoiTaxi.CuocGoiTruot;
                                _cuocGoi.TrangThaiLenh    = TrangThaiLenhTaxi.KetThucCuaDienThoai;
                                hasThucHienLenh           = true;

                                // Gửi hủy cho lái xe
                                G5ServiceSyn.SendOperatorCancel(_cuocGoi.BookId, _cuocGoi.LoaiCuocKhach, "Trượt khách");
                                KetThucCanhBao(canhBaoDieuApp.Id, "Trượt");
                            }
                        }
                        else
                        {
                            msgDialog.Show(this,
                                           String.Format("[Lệnh Trượt] Cuội gọi phải là cuốc gọi điều App và lái xe đã báo trượt.", LENH_MAYBAN),
                                           "Thông báo",
                                           Taxi.MessageBox.MessageBoxButtonsBA.OK, Taxi.MessageBox.MessageBoxIconBA.Error);
                        }
                    }
                    else
                    {
                        _cuocGoi.TrangThaiCuocGoi = TrangThaiCuocGoiTaxi.CuocGoiTruot;
                        _cuocGoi.LenhDienThoai    = LENH_TRUOTCHUA;
                        _cuocGoi.TrangThaiLenh    = TrangThaiLenhTaxi.DienThoai;
                        hasThucHienLenh           = true;
                    }
                }
                else
                {
                    msgDialog.Show(this,
                                   String.Format("[Lệnh Trượt] Cuốc trượt phải là cuộc gọi taxi và đã có xe nhận.", LENH_MAYBAN),
                                   "Thông báo",
                                   Taxi.MessageBox.MessageBoxButtonsBA.OK, Taxi.MessageBox.MessageBoxIconBA.Error);
                }
            }
            #endregion

            #region **************** F4|| Space || Ctrl + C **************************

            else if ((e.KeyData == Keys.F4 || e.KeyData == Keys.Space))
            {
                HienThiFormGoiDienThoai(Taxi.Business.Configuration.GetDauSoGoiDi + canhBaoDieuApp.SoDienThoai, canhBaoDieuApp.DiaChiDon);
            }
            #endregion

            #region --------- Alt+C: Gọi cho lái xe -------
            else if (e.KeyData == (Keys.Alt | Keys.C))
            {
                try
                {
                    if (!string.IsNullOrEmpty(canhBaoDieuApp.SoXe))
                    {
                        if (CommonBL.DictDriver.ContainsKey(canhBaoDieuApp.SoXe))
                        {
                            var    objDriver = CommonBL.DictDriver[canhBaoDieuApp.SoXe];
                            string soDT      = objDriver.DiDong;
                            if (!string.IsNullOrEmpty(soDT))
                            {
                                string text = string.Format("Xe {0} - {1}", canhBaoDieuApp.SoXe, objDriver.TenNhanVien);
                                HienThiFormGoiDienThoai(soDT, text);
                            }
                            else
                            {
                                MessageBox.Show(string.Format("Lái xe {0}-{1} chưa có thông tin số điện thoại", canhBaoDieuApp.SoXe, objDriver.TenNhanVien), "Thông báo", MessageBoxButtons.OK);
                            }
                        }
                        else
                        {
                            MessageBox.Show(string.Format("Hiện tại không có lái xe nào chạy xe {0}", canhBaoDieuApp.SoXe), "Thông báo", MessageBoxButtons.OK);
                        }
                    }
                    else
                    {
                        MessageBox.Show(string.Format("Không gọi được. Chưa có xe nhận"), "Thông báo", MessageBoxButtons.OK);
                    }
                }
                catch (Exception ex)
                {
                }
            }
            #endregion

            #region ===Cập nhật dữ liệu===
            if (hasThucHienLenh)
            {
                _cuocGoi.MaNhanVienDienThoai = ThongTinDangNhap.USER_ID;
                bool updateSuccess = false;

                var checkChange = new CuocGoi.CheckChange();
                checkChange.DiaChiDon = true;
                checkChange.DiaChiTra = true;
                checkChange.XeNhan    = true;
                checkChange.XeDon     = true;

                if (Global.MoHinh == MoHinh.TongDaiMini)
                {
                    updateSuccess = CuocGoi.G5_DIENTHOAI_UpdateThongTinCuocGoi_Mini(_cuocGoi);
                }
                else
                {
                    updateSuccess = CuocGoi.G5_DIENTHOAI_UpdateThongTinCuocGoi(_cuocGoi, checkChange);
                }

                if (!updateSuccess)
                {
                    MessageBox.Show("Không lưu được dữ liệu, xin hãy liên hệ với quản trị.", "Thông báo");
                    return;
                }
                else
                {
                    // KetThucCanhBao(canhBaoDieuApp, canhBaoDieuAppKT, _cuocGoi.LenhDienThoai);
                    KetThucCanhBao(canhBaoDieuApp.Id, _cuocGoi.LenhDienThoai);
                }
            }
            #endregion

            #endregion

            #region ===Kết thúc cảnh báo, không xử lý===
            if (e.KeyCode == Keys.Delete)
            {
                //Kết thúc cảnh báo với nội dung "XÓA"
                if (MessageBox.Show("Bạn muốn kết thúc cảnh báo của SĐT " + canhBaoDieuApp.SoDienThoai + " mà không xử lý ?", "Thông báo", MessageBoxButtons.YesNo, MessageBoxIcon.Question) == DialogResult.Yes)
                {
                    KetThucCanhBao(canhBaoDieuApp.Id, "Xóa");
                }
            }
            #endregion

            #region ===Cuốc đã xử lý===
            if (e.KeyCode == Keys.D)
            {
                if (MessageBox.Show("Bạn đã xử lý cảnh báo của SĐT " + canhBaoDieuApp.SoDienThoai + " ?", "Thông báo", MessageBoxButtons.YesNo, MessageBoxIcon.Question) == DialogResult.Yes)
                {
                    KetThucCanhBao(canhBaoDieuApp.Id, "Đã xử lý");
                }
            }
            #endregion

            #region ===Keys Enter===
            if (e.KeyCode == Keys.Enter)
            {
                OnEventKeysEnter(rowPosition);
            }
            #endregion
        }