Пример #1
0
 private void ProcessOk()
 {
     if (IsProcess)
     {
         var frm = new DevExpress.Utils.WaitDialogForm("Vui lòng chờ giây lát.", "Hệ thống đang Xử lý....");
         while (IsProcess)
         {
             frm.Refresh();
             Thread.Sleep(100);
         }
         frm.Close();
     }
     if (_gMapMarkerA == null || _gMapMarkerB == null)
     {
         new MessageBox.MessageBoxBA().Show("Bạn chưa chọn điểm đón hoặc điểm trả");
         return;
     }
     IsOk = true;
     this.Invoke((MethodInvoker)this.Close);
 }
Пример #2
0
 private void btnLuu_Click(object sender, System.EventArgs e)
 {
     if (DoVaidate()) // kiểm tra dữ liệu/
     {
         DoParse();
         if (IsProcess) // nếu đang xử lý thì sẽ hiển thị process.
         {
             Action a = () =>
             {
                 var frm = new DevExpress.Utils.WaitDialogForm("Vui lòng chờ giây lát.", "Hệ thống đang Xử lý....");
                 while (IsProcess)
                 {
                     frm.Refresh();
                     Thread.Sleep(100);
                 }
                 frm.Close();
                 DoSave();
             };
             new Thread(() => a()).Start();
             return;
         }
         DoSave();
     }
 }
Пример #3
0
        public void RouteThread()
        {
            IsProcess = true;
            new Thread(p =>
            {
                if (IsProcess)
                {
                    var frm = new DevExpress.Utils.WaitDialogForm("Vui lòng chờ giây lát.", "Hệ thống đang Xử lý....");
                    while (IsProcess)
                    {
                        frm.Refresh();
                        Thread.Sleep(100);
                    }
                    frm.Close();
                }
            }).Start();
            try
            {
                string   khoangcach;
                string   thoigian;
                string   addressA = string.Empty;
                string   addressB = string.Empty;
                string   address  = string.Empty;
                MapRoute route    = null;
                InsertDataControl(string.Empty, string.Empty, string.Empty, string.Empty, string.Empty, null);
                // if (_gMapMarkerA == null || _gMapMarkerB == null)
                {
                    if (_gMapMarkerA != null)
                    {
                        addressA =
                            Service_Common.GetAddressByGeoBA((float)_gMapMarkerA.Position.Lat, (float)_gMapMarkerA.Position.Lng).RemoveRoutePr();
                    }
                    if (_gMapMarkerB != null)
                    {
                        addressB = Service_Common.GetAddressByGeoBA((float)_gMapMarkerB.Position.Lat, (float)_gMapMarkerB.Position.Lng).RemoveRoutePr();
                    }
                }
                //  else
                {
                    if (!(LoTrinh.Distance > 0 && !processFisrt))
                    {
                        this.LoTrinh = Taxi.Controls.FastTaxis.TaxiChieuVe.TaxiReturn_Process.LayLoTrinh(_gMapMarkerA.Position, _gMapMarkerB.Position);
                    }
                    processFisrt = true;
                    if (!string.IsNullOrEmpty(LoTrinh.LoTrinh_DiaChi))
                    {
                        this.Distance = (int)LoTrinh.Distance;
                        khoangcach    = (this.Distance).ToString("#,##0.##") + " km";
                        TinhTienTheoKm objTinhTien = new TinhTienTheoKm(this.LoaiXeId, Distance);
                        TienDuKien = objTinhTien.TongTien1Chieu;
                        time       = (float)((float)this.Distance / 40);
                        if (time < 1)
                        {
                            thoigian = ((int)(time * 60)).ToString() + " phút";
                        }
                        else
                        {
                            thoigian = ((int)time).ToString() + " giờ " + ((int)(((time - ((int)time))) * 60)).ToString() + " phút";
                        }
                        address = this.LoTrinh.LoTrinh_DiaChi.Replace("=>", "<br/>=>");

                        route = new MapRoute(this.LoTrinh.ListPoint, "Lộ trình");
                    }
                    else
                    {
                        khoangcach = "-1";
                        thoigian   = "Không tồn tại đường";
                    }
                }

                InsertDataControl(khoangcach, thoigian, addressA, addressB, address, route);
            }
            catch (Exception ex)
            {
                new Log().WriteLog(ThongTinDangNhap.USER_ID, "frmUpdateTrip_Map\\RouteThread", DateTime.Now, string.Format("Số lần {0}:{1}", countRouteThread, ex.Message));
                if (countRouteThread < 5)
                {
                    countRouteThread++;
                    RouteThread();
                }
                else
                {
                    countRouteThread = 0;
                }
            }
            countRouteThread = 0;
            IsProcess        = false;
        }