Exemple #1
0
        private void grvChoGiaiQuyet_DoCommand(CuocGoi arg1, G5Command arg2)
        {
            if (arg2.CmdServer != IServerFunction.None && arg1.G5_Type == Enum_G5_Type.DieuApp)
            {
                if (Config_Common.DienThoai_DieuApp_CanhBaoMatKetNoiVoiServerDieuHanh)
                {
                    if ((G5ServiceSyn.PingServer != Enum_G5_Ping.PingSu && arg1.LoaiCuocKhach != LoaiCuocKhach.ChoKhachHopDong) ||
                        (G5ServiceSyn.PingServer_XHD != Enum_G5_Ping.PingSu && arg1.LoaiCuocKhach == LoaiCuocKhach.ChoKhachHopDong))
                    {
                        MessageBox.Show(this, "Đang mất kết nối tới Server ĐH.", "Thông báo", MessageBoxButtons.OK, MessageBoxIcon.Error);
                        return;
                    }
                }
            }

            if (arg2.CommandType == G5CommandType.None)
            {
                string tienTo = string.Empty;
                if (arg1.G5_Type == Enum_G5_Type.DieuApp && !string.IsNullOrEmpty(arg1.LenhLaiXe) && arg1.LenhLaiXe.IndexOf('[') > 0 && arg1.LenhLaiXe.IndexOf(']') > 0)
                {
                    var start = arg1.LenhLaiXe.IndexOf('[') + 1;
                    var end   = arg1.LenhLaiXe.IndexOf(']');
                    if (start < end)
                    {
                        tienTo = arg1.LenhLaiXe.Substring(start, end - start);
                    }
                }
                else if (!string.IsNullOrEmpty(arg1.LenhTongDai) && arg1.LenhTongDai.IndexOf('[') > 0 && arg1.LenhTongDai.IndexOf(']') > 0)
                {
                    var start = arg1.LenhTongDai.IndexOf('[') + 1;
                    var end   = arg1.LenhTongDai.IndexOf(']');
                    if (start < end)
                    {
                        tienTo = arg1.LenhTongDai.Substring(start, end - start);
                    }
                }
                if (string.IsNullOrEmpty(tienTo))
                {
                    arg1.LenhDienThoai = arg2.Command;
                }
                else
                {
                    arg1.LenhDienThoai = string.Format("{0}[{1}]", arg2.Command, tienTo);
                }
            }
            else
            {
                if (new FrmInputGridView(arg1, arg2).ShowDialog() != DialogResult.OK)
                {
                    return;
                }
            }

            if (arg2.CallStatus != TrangThaiCuocGoiTaxi.None)
            {
                arg1.TrangThaiCuocGoi = arg2.CallStatus;
            }
            if (arg2.Status != TrangThaiLenhTaxi.None)
            {
                arg1.TrangThaiLenh = arg2.Status;
            }
            if (arg2.CallType != KieuCuocGoi.None)
            {
                arg1.KieuCuocGoi = arg2.CallType;
            }

            if (arg2.CmdServer != IServerFunction.None && arg1.G5_Type == Enum_G5_Type.DieuApp)
            {
                //G5ServiceSyn.SendServer(arg2.CmdServer, arg2.CmdId, string.IsNullOrEmpty(arg2.CmdMsg) ? arg1.GhiChuDienThoai : arg2.CmdMsg, arg1.BookId, arg1.XeNhan);
            }
            CuocGoi.G5_DIENTHOAI_UpdateThongTinCuocGoi(arg1);
            if (arg1.TrangThaiLenh == TrangThaiLenhTaxi.KetThuc || arg1.TrangThaiLenh == TrangThaiLenhTaxi.KetThucCuaDienThoai)
            {
                grvChoGiaiQuyet.FindAndRemove(arg1);
            }
            else
            {
                grvChoGiaiQuyet.FindAndUpdate(arg1);
            }
        }
Exemple #2
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
        }
Exemple #3
0
        private void SaveData_Click(object sender, TaxiEventArgs e)
        {
            if (formInput.g_DialogResult)
            {
                var cuocGoi     = formInput.GetCuocGoi;
                var checkChange = formInput.GetCheckChange;
                int soLuong     = 0;
                if (cuocGoi.G5_Type == Enum_G5_Type.DieuApp) // điều đàm thì không cho phép sao chép.
                {
                    soLuong         = cuocGoi.SoLuong - 1;
                    cuocGoi.SoLuong = 1;
                }

                cuocGoi.MaNhanVienDienThoai = ThongTinDangNhap.USER_ID;
                if (QuanTriCauHinh.MoHinh == MoHinh.TongDaiMini && Config_Common.CoCheDieuApp == EnumCoCheDieuApp.DieuChiDinhGPS && cuocGoi.Vung == 0)
                {
                    cuocGoi.G5_Type = Enum_G5_Type.DienThoai;
                }
                else
                if ((Config_Common.CoCheDieuApp != EnumCoCheDieuApp.DieuChiDinhGPS && QuanTriCauHinh.MoHinh == MoHinh.TD_DT) && cuocGoi.GPS_KinhDo == 0 && cuocGoi.GPS_ViDo == 0)     //địa chỉ không xác định được thì chuyển sang chế độ điều đàm.
                {
                    cuocGoi.G5_Type = Enum_G5_Type.ChuyenSangDam;
                }

                bool DieuAppFirst = false;
                Guid BookId       = Guid.Empty;
                if (cuocGoi.BookId == Guid.Empty &&
                    cuocGoi.G5_Type == Enum_G5_Type.DieuApp &&
                    cuocGoi.KieuCuocGoi == KieuCuocGoi.GoiTaxi &&
                    cuocGoi.TrangThaiLenh != TrangThaiLenhTaxi.KetThucCuaDienThoai)//|| cuocGoi.TrangThaiCuocGoi == TrangThaiCuocGoiTaxi.DieuLaiAppLaiXe
                {
                    cuocGoi.BookId     = BookId = Guid.NewGuid();
                    cuocGoi.XeNhan     = string.Empty;
                    checkChange.XeNhan = false;
                    DieuAppFirst       = true;
                }
                if (cuocGoi.TrangThaiCuocGoi == TrangThaiCuocGoiTaxi.DieuLaiAppLaiXe)
                {
                    //cuocGoi.BookId = BookId = Guid.Empty;
                    cuocGoi.XeNhan           = string.Empty;
                    cuocGoi.XeDon            = string.Empty;
                    cuocGoi.GhiChuDienThoai  = string.Empty;
                    checkChange.XeNhan       = false;
                    checkChange.XeDon        = false;
                    cuocGoi.TrangThaiCuocGoi = TrangThaiCuocGoiTaxi.TrangThaiKhac;
                    cuocGoi.TrangThaiLenh    = TrangThaiLenhTaxi.DienThoai;
                    cuocGoi.LenhDienThoai    = string.Empty;
                    cuocGoi.GhiChuDienThoai  = string.Empty;
                    DieuAppFirst             = true;
                    if (Config_Common.DienThoai_DieuApp_DieuLaiGiuCuocCu)
                    {
                        BookId = cuocGoi.BookId;
                    }
                    else
                    {
                        cuocGoi.BookId = BookId = Guid.NewGuid();
                    }
                }
                bool updateSuccess;
                if (QuanTriCauHinh.MoHinh == MoHinh.TongDaiMini)
                {
                    updateSuccess = CuocGoi.G5_DIENTHOAI_UpdateThongTinCuocGoi_Mini(cuocGoi);
                }
                else
                {
                    updateSuccess = CuocGoi.G5_DIENTHOAI_UpdateThongTinCuocGoi(cuocGoi, checkChange);
                }

                if (!updateSuccess)
                {
                    MessageBox.Show(this, "Không lưu được dữ liệu, vui lòng liên hệ với quản trị", "Thông báo",
                                    MessageBoxButtons.OK, MessageBoxIcon.Error);
                }
                else
                {
                    //if (formInput.UpdateCustomerHabit) //Có được phép cập nhật thói quen khách hàng không?
                    //{
                    //    try
                    //    {
                    //        Task.Factory.StartNew(() => { G5ServiceSyn.CustomerHabitUpdate(cuocGoi.PhoneNumber, cuocGoi.DiaChiDonKhach, cuocGoi.ThoiDiemGoi); });
                    //    }
                    //    catch (Exception ex)
                    //    {
                    //        LogError.WriteLogError("UpdateCustomerHabit", ex);
                    //    }
                    //}
                    //khởi tạo cuốc ở server rồi update BookId vào db
                    if (DieuAppFirst)
                    {
                        var toaDoDon = new LatLngOperation(cuocGoi.GPS_ViDo, cuocGoi.GPS_KinhDo);
                        var toaDoTra = new LatLngOperation(cuocGoi.GPS_ViDo_Tra, cuocGoi.GPS_KinhDo_Tra);
                        //if (Config_Common.DienThoai_DieuLai_BookIdOld && DieuLai && BookIdOld != Guid.Empty)
                        //{
                        //    BookId = cuocGoi.BookId = BookIdOld;
                        //    CuocGoi.G5_DIENTHOAI_UpdateBookIdByIdCuocGoi(cuocGoi.BookId, cuocGoi.IDCuocGoi, Enum_G5_Type.DieuApp, cuocGoi.LenhDienThoai);
                        //}
                        //G5ServiceSyn.InitTripSyn(cuocGoi.IDCuocGoi, cuocGoi.DiaChiDonKhach, toaDoDon, cuocGoi.DiaChiTraKhach, toaDoTra, cuocGoi.GhiChuDienThoai, (byte)cuocGoi.SoLuong, cuocGoi.G5_CarType, 0, cuocGoi.PhoneNumber, null, soLuong, false, BookId, cuocGoi.TrangThaiCuocGoi == TrangThaiCuocGoiTaxi.DieuLaiAppLaiXe ? string.Empty : cuocGoi.XeNhan);
                    }

                    #region GOI KHIEU NAI

                    else if (cuocGoi.KieuCuocGoi == KieuCuocGoi.GoiKhieuNai)
                    {
                        // sử dụng vùng 11 làm vùng xử lý cuốc khiếu nại.
                        // nv ĐTV nhập vùng 11 thì chuyển sang cskh

                        if (cuocGoi.Vung == 11)
                        {
                            ThongTinPhanAnh objPhanAnh = new ThongTinPhanAnh();
                            objPhanAnh.DienThoai        = cuocGoi.PhoneNumber;
                            objPhanAnh.TenKhachHang     = string.Empty;
                            objPhanAnh.NoiDung          = cuocGoi.DiaChiDonKhach;
                            objPhanAnh.NhanVienTiepNhan = string.Empty;

                            if (objPhanAnh.InsertCuocGoi(0, 5, 0, cuocGoi.IDCuocGoi) > 0)
                            {
                                if (Config_Common.KetThucCuocKhieuNai)//Kết thúc cuốc khiếu nại nếu chọn 1
                                {
                                    DieuHanhTaxi.UpdateCuocGoiKhieuNaiKetThuc(cuocGoi.IDCuocGoi, objPhanAnh.NoiDung, cuocGoi.MaNhanVienDienThoai);
                                    grvChoGiaiQuyet.FindAndRemove(cuocGoi);
                                }
                                //DisplayLenGrid(g_lstDienThoai, g_LinesDuocCapPhep);
                                return;
                            }
                            else
                            {
                                MessageBox.Show(this, "Không chuyển được dữ liệu sang bộ đàm, xin hãy liên hệ với quản trị", "Thông báo", MessageBoxButtons.OK, MessageBoxIcon.Error);

                                return;
                            }
                        }
                    }

                    #endregion
                    grvChoGiaiQuyet.FindAndUpdate(cuocGoi);
                }
            }
        }