private void TimXe(string soHieuXe)
        {
            try
            {
                T_XeOnline XeOnline = new T_XeOnline();
                XeOnline = new SyncServiceOnlineClient().GetXeOnlineBySHX(soHieuXe);
                if (XeOnline == null)
                {
                    new MessageBox.MessageBoxBA().Show(string.Format("Không tồn tại xe {0} trên hệ thống", soHieuXe), "Thông Báo", Taxi.MessageBox.MessageBoxButtonsBA.OK, Taxi.MessageBox.MessageBoxIconBA.Error);
                }
                else
                {
                    if (XeOnline.ThoiDiemChenDuLieu <= DieuHanhTaxi.GetTimeServer().AddMinutes(-150))
                    {
                        new MessageBox.MessageBoxBA().Show(string.Format("Xe {0} đã mất tín hiệu GPS.", soHieuXe), "Thông Báo", Taxi.MessageBox.MessageBoxButtonsBA.OK, Taxi.MessageBox.MessageBoxIconBA.Error);
                    }
                    else
                    {
                        //PointLatLng point = new PointLatLng(XeOnline.ViDo, XeOnline.KinhDo);
                        string strDiaChi = string.Format("[{0}]:{1}", soHieuXe, Service_Common.GetAddressByGeoBA((float)XeOnline.ViDo, (float)XeOnline.KinhDo));
                        int    trangThai = 0;//xe tắt máy
                        if ((XeOnline.TrangThai & 3) > 0)
                        {
                            trangThai = 2;//xe co khach
                        }
                        else if ((XeOnline.TrangThai & 8) == 0)
                        {
                            trangThai = 1;//xe bật máy.
                        }
                        //if (MainMap.OverlayXeDeCu != null && MainMap.OverlayXeDeCu.Markers != null)
                        //    MainMap.OverlayXeDeCu.Markers.Clear();
                        //if (MainMap.MarkerXeDeCu != null)
                        //    MainMap.MarkerXeDeCu.Overlay.Clear();

                        MainMap.addMarkerXeDeCu3(trangThai, XeOnline.KinhDo, XeOnline.ViDo, strDiaChi);
                        MainMap.Position = new PointLatLng(XeOnline.ViDo, XeOnline.KinhDo);
                    }
                }
            }
            catch (Exception ex)
            {
                new MessageBox.MessageBoxBA().Show("Lỗi, không tìm thấy xe", "Thông báo lỗi", Taxi.MessageBox.MessageBoxButtonsBA.OK, Taxi.MessageBox.MessageBoxIconBA.Error);
            }
        }
 private void TimXe(string soHieuXe)
 {
     try
     {
         T_XeOnline XeOnline = new T_XeOnline();
         XeOnline = new SyncServiceOnlineClient().GetXeOnlineBySHX(soHieuXe);
         if (XeOnline != null)
         {
             if (XeOnline.TrangThaiKhac >= 0)
             {
                 //PointLatLng point = new PointLatLng(XeOnline.ViDo, XeOnline.KinhDo);
                 string strDiaChi = string.Format("[{0}]:{1}", soHieuXe, Taxi.Services.Service_Common.GetAddressByGeoBA((float)XeOnline.ViDo, (float)XeOnline.KinhDo));
                 int    trangThai = 0;//xe tắt máy
                 if ((XeOnline.TrangThai & 3) > 0)
                 {
                     trangThai = 2;//xe co khach
                 }
                 else if ((XeOnline.TrangThai & 8) == 0)
                 {
                     trangThai = 1;//xe bật máy.
                 }
                 MainMap.addMarkerXeDeCu3(trangThai, XeOnline.KinhDo, XeOnline.ViDo, strDiaChi);
                 MainMap.Position = new PointLatLng(XeOnline.ViDo, XeOnline.KinhDo);
             }
             else
             {
                 lblMsg.Text = string.Format("{0}-Xe {1} MTH", lblMsg.Text, soHieuXe);
             }
         }
         else
         {
             lblMsg.Text = string.Format("{0}-Xe {1} không có GPS", lblMsg.Text, soHieuXe);
         }
     }
     catch (Exception ex)
     {
         lblMsg.Text = string.Format("{0}-Lỗi không tìm thấy xe", lblMsg.Text);
         //new MessageBox.MessageBox().Show("Lỗi, không tìm thấy xe", "Thông báo lỗi", Taxi.MessageBox.MessageBoxButtons.OK, Taxi.MessageBox.MessageBoxIcon.Error);
     }
 }
 private void TimXe(string soHieuXe)
 {
     try
     {
         T_XeOnline XeOnline = new T_XeOnline();
         XeOnline = new SyncServiceOnlineClient().GetXeOnlineBySHX(soHieuXe);
         if (XeOnline == null)
         {
             new MessageBox.MessageBoxBA().Show(string.Format("Không tồn tại xe {0} trên hệ thống", soHieuXe), "Thông Báo", Taxi.MessageBox.MessageBoxButtonsBA.OK, Taxi.MessageBox.MessageBoxIconBA.Error);
         }
         else
         {
             if (XeOnline.TrangThaiKhac < 0)
             {
                 new MessageBox.MessageBoxBA().Show(string.Format("Xe {0} đã mất tín hiệu " + XeOnline.TrangThaiKhacText, soHieuXe), "Thông Báo", Taxi.MessageBox.MessageBoxButtonsBA.OK, Taxi.MessageBox.MessageBoxIconBA.Error);
             }
             else
             {
                 new MessageBox.MessageBoxBA().Show(XeOnline.ViDo.ToString() + "-" + XeOnline.KinhDo.ToString());
                 //PointLatLng point = new PointLatLng(XeOnline.ViDo, XeOnline.KinhDo);
                 string strDiaChi = string.Format("[{0}]:{1}", soHieuXe, Service_Common.GetAddressByGeoBA((float)XeOnline.ViDo, (float)XeOnline.KinhDo));
                 int    trangThai = 0;//xe tắt máy
                 if ((XeOnline.TrangThai & 3) > 0)
                 {
                     trangThai = 2;//xe co khach
                 }
                 else if ((XeOnline.TrangThai & 8) == 0)
                 {
                     trangThai = 1;//xe bật máy.
                 }
                 MainMap.addMarkerXeDeCu3(trangThai, XeOnline.KinhDo, XeOnline.ViDo, strDiaChi);
                 MainMap.Position = new PointLatLng(XeOnline.ViDo, XeOnline.KinhDo);
             }
         }
     }
     catch (Exception ex)
     {
         new MessageBox.MessageBoxBA().Show("Lỗi, không tìm thấy xe", "Thông báo lỗi", Taxi.MessageBox.MessageBoxButtonsBA.OK, Taxi.MessageBox.MessageBoxIconBA.Error);
     }
 }
예제 #4
0
 private void TimXe(string soHieuXe)
 {
     try
     {
         if (SearchType.EditValue.To <int>() == 1)
         {
             T_XeOnline XeOnline = new T_XeOnline();
             XeOnline = new SyncServiceOnlineClient().GetXeOnlineBySHX(soHieuXe);
             if (XeOnline == null)
             {
                 new MessageBox.MessageBoxBA().Show(string.Format("Không tồn tại xe {0} trên hệ thống", soHieuXe),
                                                    "Thông Báo", Taxi.MessageBox.MessageBoxButtonsBA.OK, Taxi.MessageBox.MessageBoxIconBA.Error);
             }
             else
             {
                 if (XeOnline.TrangThaiKhac < 0)
                 {
                     new MessageBox.MessageBoxBA().Show(
                         string.Format("Xe {0} đã mất tín hiệu " + XeOnline.TrangThaiKhacText, soHieuXe),
                         "Thông Báo", Taxi.MessageBox.MessageBoxButtonsBA.OK, Taxi.MessageBox.MessageBoxIconBA.Error);
                 }
                 else
                 {
                     //PointLatLng point = new PointLatLng(XeOnline.ViDo, XeOnline.KinhDo);
                     string strDiaChi = string.Format("[{0}]:{1}", soHieuXe,
                                                      Taxi.Services.Service_Common.GetAddressByGeoBA((float)XeOnline.ViDo,
                                                                                                     (float)XeOnline.KinhDo));
                     int trangThai = 0; //xe tắt máy
                     if ((XeOnline.TrangThai & 3) > 0)
                     {
                         trangThai = 2; //xe co khach
                     }
                     else if ((XeOnline.TrangThai & 8) == 0)
                     {
                         trangThai = 1; //xe bật máy.
                     }
                     MainMap.AddMarkerXeG5(trangThai, XeOnline.KinhDo, XeOnline.ViDo, strDiaChi);
                     MainMap.Position = new PointLatLng(XeOnline.ViDo, XeOnline.KinhDo);
                 }
             }
         }
         else
         {
             string bienso = CommonBL.ConvertSangBienSo(soHieuXe);
             if (string.IsNullOrEmpty(bienso))
             {
                 new MessageBox.MessageBoxBA().Show(string.Format("Không tồn tại xe {0} trên danh sách xe hệ thống", soHieuXe),
                                                    "Thông Báo", Taxi.MessageBox.MessageBoxButtonsBA.OK, Taxi.MessageBox.MessageBoxIconBA.Error);
                 return;
             }
             var rs = Service_Common.ServiceG5.TryGet(p => p.GetVehicleOnlne(bienso));
             //if (Global.IsDebug)
             //    new MessageBox.MessageBox().Show(string.Format(bienso));
             if (rs.Success && rs.Value != null)
             {
                 string strDiaChi = string.Format("[{0}]:{1}", soHieuXe,
                                                  Service_Common.GetAddressByGeoBA((float)rs.Value.Lat, (float)rs.Value.Lng));
                 int trangThai = 0;                //xe tắt máy
                 if ((rs.Value.Status & 4096) > 0) //4096  sẵn sàng
                 {
                     trangThai = 1;                //xe sẵn sàng
                 }
                 else if ((rs.Value.Status & 8) == 0)
                 {
                     //     trangThai = 1; //xe bật máy.
                 }
                 //MainMap.MarkerCustomer
                 MainMap.AddMarkerXeG5(trangThai, (float)rs.Value.Lng, (float)rs.Value.Lat, strDiaChi);
                 MainMap.Position = new PointLatLng((float)rs.Value.Lat, (float)rs.Value.Lng);
             }
             else
             {
                 new MessageBox.MessageBoxBA().Show(string.Format("Không tìm thấy vị trí xe {0} trên hệ thống", soHieuXe),
                                                    "Thông Báo", Taxi.MessageBox.MessageBoxButtonsBA.OK, Taxi.MessageBox.MessageBoxIconBA.Error);
             }
         }
     }
     catch
     (Exception ex)
     {
         new MessageBox.MessageBoxBA().Show("Lỗi, không tìm thấy xe", "Thông báo lỗi",
                                            Taxi.MessageBox.MessageBoxButtonsBA.OK, Taxi.MessageBox.MessageBoxIconBA.Error);
     }
 }
        private string CheckXeNhanQuaXa(string xeNhan, double KD, double VD)
        {
            if (KD <= 0)
            {
                return(xeNhan.TrimEnd('.').TrimStart('.'));
            }

            string XeNhan     = string.Empty;
            double KhoangCach = 0;

            string[] arrXeNhan = xeNhan.Split('.');
            if (arrXeNhan.Length > 0)
            {
                for (int i = 0; i < arrXeNhan.Length; i++)
                {
                    try
                    {
                        KhoangCach = new SyncServiceOnlineClient().GetKCXeNhan_DiemDonKhach(KD, VD, ThongTinCauHinh.GPS_MaCungXN, arrXeNhan[i]);
                    }
                    catch (Exception ex)
                    {
                        return(xeNhan);
                    }

                    if (KhoangCach > ThongTinCauHinh.GPS_BKXeNhan)
                    {
                        string message = string.Format("Xe {0} cách điểm đón khách {1}(km).Đã phát đàm và vẫn cho nhận?", arrXeNhan[i], Math.Round(KhoangCach / 1000, 1));
                        using (frmConfirmXeDon confirmXeDon = new frmConfirmXeDon(KieuCanhBaoKhiNhapThongTin.XeNhanQuaXa, message))
                        {
                            confirmXeDon.ShowDialog();
                            if (confirmXeDon.DialogResult == DialogResult.OK)
                            {
                                if (confirmXeDon.Result == 1)
                                {
                                    if (!new Taxi.Data.CuocGoi().TONGDAI_UPDATE_XACNHAN(g_CuocGoi.IDCuocGoi, message, confirmXeDon.Result, ThongTinDangNhap.USER_ID, KieuCanhBaoKhiNhapThongTin.XeNhanQuaXa))
                                    {
                                        new MessageBox.MessageBoxBA().Show("Cập nhật lỗi", "Thông báo", Taxi.MessageBox.MessageBoxButtonsBA.OK, Taxi.MessageBox.MessageBoxIconBA.Error);
                                    }
                                }
                                else
                                {
                                    XeNhan += arrXeNhan[i] + ".";
                                }
                            }
                            else
                            {
                                XeNhan = xeNhan;
                            }
                        }
                    }
                    else if (KhoangCach == -1)
                    {
                        new MessageBox.MessageBoxBA().Show(string.Format("Xe {0} đang mất tín hiệu", arrXeNhan[i]), "Xe nhận mất tín hiệu", Taxi.MessageBox.MessageBoxButtonsBA.OK, Taxi.MessageBox.MessageBoxIconBA.Warning);
                        //XeNhan += arrXeNhan[i] + ".";
                    }
                    else if (KhoangCach == -2)
                    {
                        new MessageBox.MessageBoxBA().Show(string.Format("Lỗi, không tìm được xe {0}", arrXeNhan[i]), "Thông báo", Taxi.MessageBox.MessageBoxButtonsBA.OK, Taxi.MessageBox.MessageBoxIconBA.Warning);
                        //XeNhan += arrXeNhan[i] + ".";
                    }
                }
            }
            return(XeNhan.TrimEnd('.'));
        }