Exemple #1
0
        /// <summary>
        /// Nhap thong tin va thiet lap trang thai cuoc goi
        /// trang thai lenh
        /// </summary>
        /// <param name="sender"></param>
        /// <param name="e"></param>
        private void btnOK_Click(object sender, EventArgs e)
        {
            string strXeDon = StringTools.TrimSpace(maskXeDon.TextBox.Text);

            if (XuLyCoThongTinXeDon(strXeDon))
            {
                bool   truot  = chkMKTruot.Checked;
                string ghiChu = StringTools.TrimSpace(txtThongThiThem.Text);

                CuocGoi.MOIKHACH_UpdateThongTinCuocGoiKetThuc(mCuocGoi.IDCuocGoi, strXeDon, truot, ghiChu, mCuocGoi.MOIKHACH_NhanVien);
                DialogResult = DialogResult.OK;
                Close();
            }
        }
Exemple #2
0
        public void AddCuocGoi(int macuocgoi, int masim, DateTime tgbd, DateTime tgkt, int sophutsd)
        {
            CuocGoi cuocgoi = new CuocGoi();

            cuocgoi.MaCuocGoi  = macuocgoi;
            cuocgoi.MaSim      = masim;
            cuocgoi.TG_BatDau  = tgbd;
            cuocgoi.TG_KetThuc = tgkt;
            cuocgoi.SoPhutSD   = sophutsd;
            cuocgoi.PhiCuocGoi = 0;
            cuocgoi.trangthai  = true;
            db.CuocGois.Add(cuocgoi);
            db.SaveChanges();
        }
Exemple #3
0
 /// <summary>
 /// Gửi text cho service EnVangVip
 /// </summary>
 /// <param name="cuocGoi">The cuoc goi.</param>
 /// <returns></returns>
 /// <Modified>
 /// Name     Date         Comments
 /// LuanBH  8/7/2015   created
 /// </Modified>
 public static bool SendText(CuocGoi cuocGoi)
 {
     if (HasSendMobile(cuocGoi.KhongDungMobileService.Value))
     {
         var vehiclePlates = ProcessFastTaxi.GetVehiclePlatesFromPrivateCode(cuocGoi.XeDon, ",");
         if (string.IsNullOrEmpty(vehiclePlates))
         {
             return(false);
         }
         CuocGoi.EnVangVIP_TaoMessageConfirm(cuocGoi.IDCuocGoi, 3242, false, false, cuocGoi.GhiChuDienThoai, cuocGoi.XeDon);
         return(Service_Common.EnvangVip.TryGet(p => p.SendText(vehiclePlates, cuocGoi.GhiChuDienThoai)).Success);
     }
     return(false);
 }
Exemple #4
0
        /// <summary>
        /// ham tra ve ds xe nhan da nhan diem truoc day
        /// input : 123.546.897
        /// ouptpt: 123
        /// </summary>
        /// <param name="strXeNhan"></param>
        /// <returns></returns>
        private string  KiemTraXeNhanDaNhanCuoc(long IDCuocKhach, string strXeNhan)
        {
            string strDSXeNhanDaNhanDiem = "";

            string[] arrTaxi = strXeNhan.Split(".".ToCharArray());
            for (int i = 0; i < arrTaxi.Length; i++)
            {
                if (CuocGoi.KiemTraXeNhanDaDangNhanCuocKhach(IDCuocKhach, arrTaxi[i].ToString()))
                {
                    strDSXeNhanDaNhanDiem += arrTaxi[i].ToString() + ".";
                }
            }
            return(strDSXeNhanDaNhanDiem);
        }
Exemple #5
0
        /// <summary>
        /// Gửi text cho service EnVangVip
        /// </summary>
        /// <param name="soHieuXe">The so hieu xe.</param>
        /// <param name="idCuocGoi">The identifier cuoc goi.</param>
        /// <param name="message">The message.</param>
        /// <returns></returns>
        /// <Modified>
        /// Name     Date         Comments
        /// LuanBH  8/21/2015   created
        /// </Modified>
        public static bool SendText(string soHieuXe, long idCuocGoi, string message)
        {
            if (!HasSendMobile(null))
            {
                return(false);
            }
            var vehiclePlates = ProcessFastTaxi.GetVehiclePlatesFromPrivateCode(soHieuXe, ",");

            if (string.IsNullOrEmpty(vehiclePlates))
            {
                return(false);
            }
            CuocGoi.EnVangVIP_TaoMessageConfirm(idCuocGoi, 3242, false, false, message, soHieuXe);
            return(Service_Common.EnvangVip.TryGet(p => p.SendText(vehiclePlates, message)).Success);
        }
Exemple #6
0
 private void grvChoGiaiQuyet_ActionPopUp(CuocGoi obj)
 {
     if (formInput != null && RealTimeEnvironment.IsLogin)
     {
         if (formInput.Visible)
         {
             hasNewCallPending = true;
             formInput.HienThiThongBaoCoCuocGoiMoi();
         }
         else
         {
             formInput.LoadCuocGoi(obj);
         }
     }
 }
Exemple #7
0
 /// <summary>
 /// Gửi lệnh có thể/không thể mời được khách sang service EnVang
 /// </summary>
 /// <param name="cuocGoi">The cuoc goi.</param>
 /// <param name="coMoiKhach">The co moi khach.</param>
 /// <returns></returns>
 /// <Modified>
 /// Name     Date         Comments
 /// LuanBH  8/3/2015   created
 /// </Modified>
 public static bool SendACKInvite(CuocGoi cuocGoi, byte coMoiKhach, string message)
 {
     if (HasSendMobile(cuocGoi.KhongDungMobileService.Value))
     {
         var privateCodes = ProcessFastTaxi.GetVehiclePlatesFromPrivateCode(cuocGoi.XeDon, ",");
         if (string.IsNullOrEmpty(privateCodes))
         {
             return(false);
         }
         return(Service_Common.EnvangVip.TryGet(p => p.SendACKInvite(cuocGoi.IDCuocGoi.ToString(), privateCodes, coMoiKhach, message)).Success);
     }
     else
     {
         return(SendSMSMessage(cuocGoi, "Đã mời khách"));
     }
 }
        private CuocGoi GetAddress(string phoneNumber)
        {
            CuocGoi objCuocGoiMoi = new CuocGoi();

            try
            {
                objCuocGoiMoi.PhoneNumber = phoneNumber;
                objCuocGoiMoi.ThoiDiemGoi = DateTime.Now;
                DanhBaEx objDanhBaEx = G_GlobalContacts.GetGlobalContacsInfo(phoneNumber);
                if (objDanhBaEx != null && !string.IsNullOrEmpty(objDanhBaEx.Address))
                {
                    objCuocGoiMoi.KieuKhachHangGoiDen = objDanhBaEx.KieuKHGoiDen;
                    objCuocGoiMoi.DiaChiDonKhach      = objDanhBaEx.Address;
                    objCuocGoiMoi.DiaChiTraKhach      = objDanhBaEx.Address_Destination;
                    objCuocGoiMoi.Vung            = objDanhBaEx.Vung;
                    objCuocGoiMoi.MaDoiTac        = objDanhBaEx.MaDoiTac;
                    objCuocGoiMoi.LoaiXe          = objDanhBaEx.LoaiXe;
                    objCuocGoiMoi.GPS_KinhDo      = objDanhBaEx.GPS_KinhDo;
                    objCuocGoiMoi.GPS_ViDo        = objDanhBaEx.GPS_ViDo;
                    objCuocGoiMoi.GhiChuDienThoai = objDanhBaEx.GhiChuTiepNhan;
                    objCuocGoiMoi.CuocGoiLaiIDs   = objDanhBaEx.IdCuocGoi.ToString();
                    objCuocGoiMoi.SoLanGoi        = objDanhBaEx.SoLanGoi + 1;
                    objCuocGoiMoi.LenhDienThoai   = objDanhBaEx.LenhTiepNhan;
                }
                else
                {
                    objCuocGoiMoi.KieuKhachHangGoiDen = KieuKhachHangGoiDen.KhachHangBinhThuong;
                    objCuocGoiMoi.DiaChiDonKhach      = "";
                    objCuocGoiMoi.DiaChiTraKhach      = "";
                    objCuocGoiMoi.MaDoiTac            = "";
                    objCuocGoiMoi.LoaiXe          = "";
                    objCuocGoiMoi.GPS_KinhDo      = 0;
                    objCuocGoiMoi.GPS_ViDo        = 0;
                    objCuocGoiMoi.GhiChuDienThoai = "";
                    objCuocGoiMoi.LenhDienThoai   = "";
                    objCuocGoiMoi.CuocGoiLaiIDs   = "0";
                    objCuocGoiMoi.SoLanGoi        = 0;
                    objCuocGoiMoi.Vung            = 0;
                }
                objCuocGoiMoi.Line = Line;
            }
            catch (Exception ex)
            {
                LogError.WriteLogError("CallCapture_OpenSpaceSiemens GetAddress:", ex);
            }
            return(objCuocGoiMoi);
        }
        private void frmHienThiBanDo_XeNhan_Load(object sender, EventArgs e)
        {
            lblDCDon.Text    = g_CuocGoi.DiaChiDonKhach;
            lblSoDT.Text     = g_CuocGoi.PhoneNumber;
            lblLenhMK.Text   = g_CuocGoi.Vung.ToString();
            lblLenhDTV.Text  = g_CuocGoi.LenhDienThoai;
            lblGhiChu.Text   = g_CuocGoi.GhiChuDienThoai;
            lblThoiGian.Text = g_CuocGoi.ThoiDiemGoi.ToString("HH:mm dd/MM/yyyy");
            //Add market Địa điểm của khách.
            // debug nếu chưa có tọa độ phải lấy lại tọa độ theo địa chỉ...
            if (g_CuocGoi.GPS_KinhDo > 0 && g_CuocGoi.GPS_ViDo > 0)
            {
                MainMap.addMarkerCustomer2(g_CuocGoi.GPS_KinhDo, g_CuocGoi.GPS_ViDo, g_CuocGoi.DiaChiDonKhach);
            }
            //if (!string.IsNullOrEmpty(g_CuocGoi.DanhSachXeDeCu) && !string.IsNullOrEmpty(g_CuocGoi.DanhSachXeDeCu_TD))
            //{
            //    //Add market Danh Sách xe đề cử.
            //    setMarkerDSXeDeCu(g_CuocGoi.DanhSachXeDeCu, g_CuocGoi.DanhSachXeDeCu_TD);
            //}
            //if (!string.IsNullOrEmpty(g_CuocGoi.XeNhan) && !string.IsNullOrEmpty(g_CuocGoi.XeNhan_TD))
            //{
            //    //Add market Danh Sách xe nhận.
            //    setMarkerDSXeNhan(g_CuocGoi.XeNhan, g_CuocGoi.XeNhan_TD);
            //}

            if (!string.IsNullOrEmpty(g_CuocGoi.XeDenDiemDonKhach) && !string.IsNullOrEmpty(g_CuocGoi.XeDenDiemDonKhach_TD))
            {
                //Add market Danh Sách xe nhận.
                setMarkerDSXeDonKhach(g_CuocGoi.XeDenDiemDonKhach, g_CuocGoi.XeDenDiemDonKhach_TD);
            }

            DataTable dt = CuocGoi.TONGDAI_LayThongTinXeDon_ID(g_CuocGoi.IDCuocGoi);

            if (dt != null && dt.Rows.Count > 0)
            {
                setMarkerDSXeDonKhachDeCu(dt.Rows[0]["XeDenDiemDonKhachDeCu"].ToString(), dt.Rows[0]["XeDenDiemDonKhachDeCu_TD"].ToString());
            }

            if (G_LstXeDonDeCu != null && G_LstXeDonDeCu.Count > 0)
            {
                gridEX.DataMember = "dtXeDonDeCu";
                gridEX.SetDataBinding(G_LstXeDonDeCu, "dtXeDonDeCu");
                gridEX.Visible = true;
            }
            txtTimXe.Focus();
            txtTimXe.Select();
        }
Exemple #10
0
 private void mnuItemChuyenCuocGoi_Click(object sender, EventArgs e)
 {
     if (RealTimeEnvironment.IsLogin)
     {
         var row = grvDaGiaiQuyet.GetFocusedRow() as CuocGoi;
         if (row != null)
         {
             if (MessageBox.Show(string.Format("Bạn có muốn chuyển cuộc gọi: {0} không ?", row.DiaChiDonKhach), "Thông báo",
                                 MessageBoxButtons.YesNo, MessageBoxIcon.Question) == DialogResult.Yes)
             {
                 CuocGoi.DIENTHOAI_UpdateCGKetThuc2ChuaGiaiQuyet(row.IDCuocGoi);
                 grdDaGiaiQuyet.DataSource = CuocGoi.DIENTHOAI_LayCuocGoiDaGiaiQuyet(RealTimeEnvironment.LineVung, SoDong);
                 IsDaGiaiQuyet             = false;
             }
         }
     }
 }
Exemple #11
0
 /// <summary>
 /// Gửi kết quả hoàn thành của cuốc lên server
 /// </summary>
 /// <param name="cuocGoi">BookId</param>
 /// <param name="state">Trạng thái confirm</param>
 public static void SendConfirmDoneBook(CuocGoi cuocGoi, EnumConfirmDoneBook state)
 {
     if (cuocGoi.BookId != Guid.Empty)
     {
         if (cuocGoi.LoaiCuocKhach == LoaiCuocKhach.ChoKhachHopDong)
         {
             Task.Factory.StartNew(() =>
             {
                 return(WCFServicesAppXHD.SendConfirmDoneBook(cuocGoi.BookId, CommonBL.ConvertSangBienSo(cuocGoi.XeDon), (Taxi.Services.ServiceApp_XHD.ConfirmDoneBook)state));
             });
         }
         else
         {
             BackgroupActionServer(p => p.SendConfirmDoneBook(cuocGoi.BookId, CommonBL.ConvertSangBienSo(cuocGoi.XeDon), state), "Hoàn thành");
         }
     }
 }
Exemple #12
0
 private void DatGiaTriCuocGoi(ref CuocGoi pCuocGoi)
 {
     if (CheckValidate())
     {
         pCuocGoi.Long_LoaiXeID = cboLoaiXe.EditValue.ToString();
         pCuocGoi.Long_TuyenID  = cboChayTuyen.EditValue.ToString();
         pCuocGoi.Long_ChieuID  = cboChieu.EditValue.To <int>();
         pCuocGoi.Long_GiaTien  = txtGia.Text.Replace(",", "").To <int>();
         pCuocGoi.Long_Km       = txtKm.Text.Replace(",", "").To <int>();
         pCuocGoi.Long_ThoiGian = txtThoiGian.Text.Replace(",", "").To <int>();
         SetSMSMessage();
         pCuocGoi.SMSDuongDai = SMSMessage;
         GhiChu_DuongDai      = string.Format("{0}{1}", cboChayTuyen.Text, cboChieu.Text);
         IsSuccess            = true;
         this.Close();
     }
 }
        /// <summary>
        /// Gửi lệnh có thể/không thể mời được khách sang service EnVang
        /// </summary>
        /// <param name="cuocGoi">The cuoc goi.</param>
        /// <param name="coMoiKhach">The co moi khach.</param>
        /// <returns></returns>
        /// <Modified>
        /// Name     Date         Comments
        /// LuanBH  8/3/2015   created
        /// </Modified>
        public static bool SendACKInvite(CuocGoi cuocGoi, byte coMoiKhach, string msg)
        {
            var privateCodes = ProcessFastTaxi.GetVehiclePlatesFromPrivateCode(cuocGoi.XeDon, ",");

            if (string.IsNullOrEmpty(privateCodes))
            {
                return(false);
            }

            if (Global.HasInternet == 1)
            {
                return(Service_Common.EnvangVip.TryGet(p => p.SendACKInvite(cuocGoi.IDCuocGoi.ToString(), privateCodes, coMoiKhach, msg)).Success);
            }
            else
            {
                return(SendSMSMessage(cuocGoi, "Đã mời khách"));
            }
        }
Exemple #14
0
        /// <summary>
        /// Gửi lệnh đồng ý/không đồng ý cho số sang service EnVang
        /// </summary>
        /// <param name="cuocGoi">The cuoc goi.</param>
        /// <param name="coChoSo">The co cho so.</param>
        /// <returns></returns>
        /// <Modified>
        /// Name     Date         Comments
        /// LuanBH  8/3/2015   created
        /// </Modified>
        public static bool SendACKGetPhone(CuocGoi cuocGoi, byte coChoSo)
        {
            var privateCodes = ProcessFastTaxi.GetVehiclePlatesFromPrivateCode(cuocGoi.XeDon, ",");

            if (string.IsNullOrEmpty(privateCodes))
            {
                return(false);
            }

            if (HasSendMobile(cuocGoi.KhongDungMobileService.Value))
            {
                return(Service_Common.EnvangVip.TryGet(p => p.SendACKGetPhone(cuocGoi.IDCuocGoi.ToString(), coChoSo, privateCodes)).Success);
            }
            else
            {
                string message = string.Format("So dien thoai khach hang: {0}", cuocGoi.PhoneNumber);
                return(SendSMSMessage(cuocGoi, message));
            }
        }
Exemple #15
0
        /// <summary>
        /// Gửi confirm landmark.
        /// </summary>
        /// <param name="soHieuXe">The so hieu xe.</param>
        /// <param name="landMarkID">The land mark identifier.</param>
        /// <param name="ok">if set to <c>true</c> [ok].</param>
        /// <returns></returns>
        /// <Modified>
        /// Name     Date         Comments
        /// LuanBH  8/27/2015   created
        /// </Modified>
        public static bool SendConfirmLandmark(MessageConfirm message, byte ok)
        {
            var vehiclePlates = ProcessFastTaxi.GetVehiclePlatesFromPrivateCode(message.XeDon, ",");

            if (string.IsNullOrEmpty(vehiclePlates))
            {
                return(false);
            }
            var landMarkAndDriver = message.MessageContent.Split("-".ToCharArray());
            int node = 0;

            if (ok == 1)
            {
                node = CuocGoi.EnVangVIP_NhapDuLieuGiamSatXe(vehiclePlates, landMarkAndDriver[1], ""
                                                             , ((int)Enum_TrangThaiLaiXeBao.BaoDiemDo).ToString(), Convert.ToInt32(landMarkAndDriver[0]),
                                                             "1", null, null);
            }
            return(Service_Common.EnvangVip.TryGet(p => p.SendConfirmLandmark(vehiclePlates, Convert.ToInt32(landMarkAndDriver[0]), ok == 1, node)).Success);
        }
        /// <summary>
        /// Processes the command by key.
        /// </summary>
        /// <param name="key">The key.</param>
        /// <param name="cuocgoi">The cuocgoi.</param>
        /// <param name="IsCapNhat">if set to <c>true</c> [is cap nhat].</param>
        /// <Modified>
        /// Name     Date         Comments
        /// HauNV  24/08/2015   created
        /// </Modified>
        //public static void ProcessCommandByKey(Keys key,ref CuocGoi cuocgoi, ref bool IsCapNhat)
        //{
        //    var cmd= CommonBL.Commands.FirstOrDefault(p => (Keys)p.Shortcuts == key);
        //    if (cmd != null)
        //    {
        //        if (cmd.FunctionUsing == (int)Enum_ChucNangNhiemVu.DienThoaiVien)
        //        {
        //            cuocgoi.LenhDienThoai = cmd.Command;
        //            cuocgoi.TrangThaiLenh = (TrangThaiLenhTaxi)cmd.Status;
        //            if (cmd.CallStatus > 0)
        //            {
        //                cuocgoi.TrangThaiCuocGoi = (TrangThaiCuocGoiTaxi)cmd.CallStatus;
        //            }
        //            IsCapNhat = true;
        //        }
        //        else if (cmd.FunctionUsing == (int)Enum_ChucNangNhiemVu.TongDaiVien)
        //        {
        //            cuocgoi.LenhTongDai = cmd.Command;
        //            cuocgoi.TrangThaiLenh = (TrangThaiLenhTaxi)cmd.Status;
        //            if (cmd.CallStatus > 0)
        //            {
        //                cuocgoi.TrangThaiCuocGoi = (TrangThaiCuocGoiTaxi)cmd.CallStatus;
        //            }
        //            IsCapNhat = true;
        //        }
        //        if (IsCapNhat && (Enum_SendDriver)cmd.SendDriver != Enum_SendDriver.None)
        //        {
        //            SendDriver((Enum_SendDriver)cmd.SendDriver, cuocgoi);
        //        }
        //    }
        //}


        /// <summary>
        /// Sends the driver.
        /// </summary>
        /// <param name="sendDriver">The send driver.</param>
        /// <param name="cuocgoi">The cuocgoi.</param>
        /// <Modified>
        /// Name     Date         Comments
        /// HauNV  24/08/2015   created
        /// </Modified>
        //public static void SendDriver(Enum_SendDriver sendDriver, CuocGoi cuocgoi)
        //{
        //    switch (sendDriver)
        //    {
        //        case Enum_SendDriver.InitTrip://Tạo cuốc mới
        //            break;
        //        case Enum_SendDriver.ACKInvite: // Mời khách
        //            break;
        //        case Enum_SendDriver.ACKGetPhone: //lấy sdt.
        //            break;
        //        case Enum_SendDriver.LogoutDriver: // Ép lái xe đăng xuất.
        //            break;
        //    }
        //}
        #endregion

        #region ===== Mobile Command ====
        /// <summary>
        /// Processes the mobile command by key.
        /// Thực hiện lệnh theo cấu hình.
        /// </summary>
        /// <param name="key">The key.</param>
        /// <param name="cuocgoi">The cuocgoi.</param>
        /// <param name="IsSend">if set to <c>true</c> [is send].</param>
        /// <returns></returns>
        /// <Modified>
        /// Name     Date         Comments
        /// HauNV  07/09/2015   created
        /// </Modified>
        public static bool ProcessMobileCommandByKey(Keys key, ref CuocGoi cuocgoi, ref bool IsSend)
        {
            int KeyValue = (int)key;

            if (KeyValue >= ((int)Keys.NumPad0) && KeyValue <= ((int)Keys.NumPad9))
            { // numpad
                KeyValue = KeyValue - ((int)Keys.NumPad0) + ((int)Keys.D0);
            }
            var cmd = CommonBL.MobileCommand.FirstOrDefault(p => p.PMDH_Shortcuts == KeyValue);

            if (cmd != null)
            {
                if (cmd.PMDH_RequireVehicle)
                {
                    if (!(CheckVehicle(cuocgoi.XeNhan)))
                    {
                        return(true);
                    }
                }
                cuocgoi.TrangThaiLenh = (TrangThaiLenhTaxi)cmd.PMDH_Status;
                if (cmd.PMDH_CallStatus > 0)
                {
                    cuocgoi.TrangThaiCuocGoi = (TrangThaiCuocGoiTaxi)cmd.PMDH_CallStatus;
                }
                if (CommonBL.WorkflowId == (int)Enum_Workflow.DienThoaiVien)
                {
                    cuocgoi.LenhDienThoai = cmd.CommandName;
                }
                else if (CommonBL.WorkflowId == (int)Enum_Workflow.TongDaiVien)
                {
                    cuocgoi.LenhTongDai = cmd.CommandName;
                }
                if (IsSend && (Enum_SendDriver)cmd.PMDH_SendDriver != Enum_SendDriver.None)
                {
                    //MobileCommandSendDriver((Enum_SendDriver)cmd.PMDH_SendDriver, cuocgoi);
                }
                return(true);
            }
            return(false);
        }
Exemple #17
0
        /// <summary>
        /// Gửi lệnh tạo cuốc cho các xe trong danh sách xe nhận
        /// </summary>
        /// <param name="cuocGoi">The cuoc goi.</param>
        /// <returns></returns>
        /// <Modified>
        /// Name     Date         Comments
        /// LuanBH  8/3/2015   created
        /// </Modified>
        public static bool SendInitTrip(CuocGoi cuocGoi)
        {
            if (HasSendMobile(cuocGoi.KhongDungMobileService))
            {
                var privateCodes = ProcessFastTaxi.GetVehiclePlatesFromPrivateCode(cuocGoi.XeNhan, ".");
                if (string.IsNullOrEmpty(privateCodes))
                {
                    return(false);
                }
                if (privateCodes.IndexOf("..") > -1 || privateCodes.StartsWith("."))
                {
                    return(false);
                }
                CuocGoi.EnVangVIP_GuiTinChoLaiXe(cuocGoi.IDCuocGoi);

                return(Service_Common.EnvangVip.TryGet(p => p.SendInitTrip(cuocGoi.IDCuocGoi.ToString(), cuocGoi.DiaChiDonKhach, cuocGoi.DiaChiDonKhach
                                                                           , Convert.ToSingle(cuocGoi.GPS_ViDo), Convert.ToSingle(cuocGoi.GPS_KinhDo), cuocGoi.DiaChiTraKhach, cuocGoi.DiaChiTraKhach, 0, 0, cuocGoi.GhiChuDienThoai
                                                                           , Convert.ToByte(cuocGoi.SoLuong), Convert.ToByte(cuocGoi.KieuCuocGoi), Convert.ToByte(cuocGoi.KieuKhachHangGoiDen), cuocGoi.PhoneNumber
                                                                           , privateCodes.Split(".".ToCharArray()), false, string.Empty, 0)).Success);
            }
            return(false);
        }
Exemple #18
0
        private void HienThiControl(CuocGoi cuocGoi)
        {
            if (cuocGoi.KieuCuocGoi == KieuCuocGoi.GoiTaxi)
            {
                HienThiControl_GoiTaxi();
            }
            else if (cuocGoi.KieuCuocGoi == KieuCuocGoi.GoiLai)
            {
                HienThiControl_GoiLai();
            }
            else if (cuocGoi.KieuCuocGoi == KieuCuocGoi.GoiHoiDam)
            {
                HienThiControl_GoiHoiDam();
            }

            IsFastTaxi.Visible = g_cuocGoi.FT_IsFT;
            if (!g_cuocGoi.FT_IsFT)
            {
                var height_TieuDe = panel_TieuDe.Height;
                panel_TieuDe.Visible = false;
                this.Height          = this.Height - height_TieuDe;
            }
        }
 /// <summary>
 /// Load nội dung chat
 /// </summary>
 /// <Modified>
 /// Name     Date         Comments
 /// LuanBH  8/21/2015   created
 /// </Modified>
 private void LoadNoiDungChat()
 {
     if (string.IsNullOrEmpty(SoHieuXeDangChat))
     {
         return;
     }
     if (DoiXeChat)
     {
         txtChatBox.Lines = ConvertMessageToChatLines(CuocGoi.EnVangVip_DienThoai_LayNoiDungChatCuaXe(SoHieuXeDangChat));
         DoiXeChat        = false;
     }
     else
     {
         var noiDungChat = CuocGoi.EnVangVip_DienThoai_LayNoiDungChatCuaXe(SoHieuXeDangChat, ThoiDiemLoadChatCuoi);
         if (noiDungChat != null && noiDungChat.Count > 0)
         {
             var newLines = ConvertMessageToChatLines(noiDungChat);
             foreach (var line in newLines)
             {
                 txtChatBox.AppendText("\r\n" + line);
             }
         }
     }
 }
Exemple #20
0
        static void background_DoWork(object sender, DoWorkEventArgs e)
        {
            try
            {
                var trip = e.Argument as Trip;
                if (trip != null)
                {
                    if (trip.CurrentLatLng == null)
                    {
                        trip.CurrentLatLng = new LatLng {
                            Lat = trip.GPSDonVD, Lng = trip.GPSDonKD
                        };
                    }
                    Guid bookId = Guid.NewGuid();

                    CuocGoi.G5_DIENTHOAI_UpdateBookIdByIdCuocGoi(bookId, trip.IdCuocKhach, Enum_G5_Type.DieuApp, "");

                    //var done = InitTrip(bookId, trip.IdCuocKhach, trip.DiaChiDon, trip.GPSDonKD, trip.GPSDonVD,
                    //    trip.DiaChiTra, trip.GPSTraKD, trip.GPSTraVD, trip.Note,
                    //    trip.Quantity, trip.CarType, trip.CustomerType, trip.Phone, trip.CurrentLatLng, BookTripType.Normal,0);
                    //if (!done) // Không gửi được lên thì chuyển cuốc điều đàm.
                    //{
                    //    bookId = Guid.Empty;
                    //    CuocGoi.G5_DIENTHOAI_UpdateBookIdByIdCuocGoi(bookId, trip.IdCuocKhach, Enum_G5_Type.ChuyenSangDam, "");
                    //}
                    if (trip.SoLuong > 0)
                    {
                        CopyCuocGoi1163353336(trip.IdCuocKhach, trip.SoLuong, Enum_G5_Type.DieuApp);
                    }
                }
            }
            catch (Exception ex)
            {
                LogError.WriteLogError("Khởi tạo cuốc điều App", ex);
            }
        }
Exemple #21
0
 /// <summary>
 /// Truyen vao mot doi tuong DieuHanh, tuong duoc mot cuoc goi
 ///
 /// </summary>
 /// <param name="CuocGoi"></param>
 public frmKhieuNaiInputData_V3(CuocGoi CuocGoi)
 {
     InitializeComponent();
     mCuocGoi = CuocGoi;
 }
        private void txtInputGrid_KeyDown(object sender, KeyEventArgs e)
        {
            try
            {
                if (e.KeyData == Keys.Enter)
                {
                    g_CloseForm       = true;
                    this.DialogResult = DialogResult.OK;
                    MessageBox.MessageBoxBA msgBox = new Taxi.MessageBox.MessageBoxBA();
                    string s = StringTools.TrimSpace(txtInputGrid.Text);

                    #region KENH
                    //if (s.Length > 0)
                    //{

                    if (g_KieuNhap == KieuNhapTrenGridTongDai.NhapChuyenKenh)
                    {
                        if (s.Length <= 0)
                        {
                            this.DialogResult = DialogResult.Cancel;
                            return;
                        }
                        g_Return = s;
                        int kenhVung = 0;
                        try
                        {
                            kenhVung = Convert.ToInt32(s);
                            if (!CheckVungNamTrongVungCauHinh(kenhVung))
                            {
                                kenhVung = -1;
                            }
                        }
                        catch (Exception ex)
                        {
                            kenhVung = 0;
                        }
                        if (kenhVung <= 0)
                        {
                            msgBox.Show(this, "Vùng phải lớn hơn 0 và nằm trong vùng được cấp phép.", "Thông báo", Taxi.MessageBox.MessageBoxButtonsBA.OK, Taxi.MessageBox.MessageBoxIconBA.Question);
                            this.DialogResult = DialogResult.Cancel;
                            g_CloseForm       = false;
                            return;
                        }
                        g_CuocGoi.Vung          = kenhVung;
                        g_CuocGoi.TrangThaiLenh = TrangThaiLenhTaxi.TongGuiSangMoiKhach;
                        if (CuocGoi.TONGDAI_UpdateChuyenVung(g_CuocGoi.IDCuocGoi, ThongTinDangNhap.USER_ID, g_CuocGoi.Vung, ""))
                        {
                            this.DialogResult = DialogResult.OK;
                            g_CloseForm       = true;
                        }
                    }
                    #endregion KENH

                    #region XENHAN
                    else if (g_KieuNhap == KieuNhapTrenGridTongDai.NhapXeNhan)
                    {
                        string xeNhan = StringTools.ConvertToChuoiXeNhanChuan(s);
                        if (!KiemTraXeNhan(xeNhan) && (!KiemTraTrungLapXeChay(xeNhan)))
                        {
                            msgBox.Show(this, "Vui lòng nhập chính xác xe đón.Báo quản trị bổ sung xe nếu thiếu", "Thông báo", Taxi.MessageBox.MessageBoxButtonsBA.OK, Taxi.MessageBox.MessageBoxIconBA.Question);
                            g_CloseForm       = false;
                            this.DialogResult = DialogResult.Cancel;
                            return;
                        }
                        // Check xe nhận
                        g_Return = xeNhan;
                        //  ValidateXeNhan(xeNhan, g_CuocGoi.XeDon);
                    }
                    #endregion XENHAN

                    #region XEDON
                    else if (s.Length > 0 && g_KieuNhap == KieuNhapTrenGridTongDai.NhapXeDon)
                    {
                        // Kiểm tra xe đó có nằm trong xe nhận
                        string xeDon = StringTools.ConvertToChuoiXeNhanChuan(s);
                        g_Return = xeDon;
                        if (xeDon != null && xeDon.Length > 0)
                        {
                            if (xeDon == "000")
                            {
                                xeDon       = "000";
                                g_IsKetThuc = true;
                            }
                            else
                            {
                                if (!KiemTraXeNhan(xeDon) && (!KiemTraTrungLapXeChay(xeDon)))
                                {
                                    msgBox.Show(this, "Vui lòng nhập chính xác xe đón.Báo quản trị bổ sung xe nếu thiếu", "Thông báo", Taxi.MessageBox.MessageBoxButtonsBA.OK, Taxi.MessageBox.MessageBoxIconBA.Question);
                                    g_CloseForm       = false;
                                    this.DialogResult = DialogResult.Cancel;
                                    return;
                                }
                                if (Config_Common.TongDai_HienThiCanhBao_XeDonTrungXeNhan > 0 && !KiemTraXeDonThuocXeNhan(xeDon, g_CuocGoi.XeNhan))
                                {
                                    msgBox.Show(this, "Xe đón không thuộc xe nhận", "Thông báo", Taxi.MessageBox.MessageBoxButtonsBA.OK, Taxi.MessageBox.MessageBoxIconBA.Question);
                                    //g_CloseForm = false;
                                    //this.DialogResult = DialogResult.Cancel;
                                    //return;
                                }
                                string KenhVung_Trung = string.Empty;
                                string xeDangCoKhach  = new CuocGoi().TONGDAI_UPDATE_XEDON_CHECKVALID(xeDon, g_CuocGoi.ThoiDiemGoi, out KenhVung_Trung);
                                if (xeDangCoKhach != "")
                                {
                                    string message = String.Format("Xe {0} đã đón khách ở vùng {1} khoảng 5 phút gần đây", xeDangCoKhach, KenhVung_Trung);
                                    using (frmConfirmXeDon confirmXeDon = new frmConfirmXeDon(KieuCanhBaoKhiNhapThongTin.TrungXeDon, 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, Taxi.Utils.KieuCanhBaoKhiNhapThongTin.TrungXeDon))
                                                {
                                                    new MessageBox.MessageBoxBA().Show("Cập nhật lỗi", "Thông báo", Taxi.MessageBox.MessageBoxButtonsBA.OK, Taxi.MessageBox.MessageBoxIconBA.Error);
                                                    return;
                                                }
                                                g_IsKetThuc = true;
                                            }
                                            else
                                            {
                                                g_IsKetThuc = false;
                                                return;
                                            }
                                        }
                                        else
                                        {
                                            g_IsKetThuc = false;
                                            return;
                                        }
                                    }
                                }
                                if (G_XeDonLength < g_CuocGoi.SoLuong)
                                {
                                    const string message = "Chưa đủ xe số lượng xe yêu cầu";
                                    using (frmConfirmXeDon confirmXeDon = new frmConfirmXeDon(KieuCanhBaoKhiNhapThongTin.ChuaDuSoLuongXeDon, message))
                                    {
                                        confirmXeDon.ShowDialog();
                                        if (confirmXeDon.DialogResult == DialogResult.OK)
                                        {
                                            if (confirmXeDon.Result == 2)
                                            {
                                                if (!new Taxi.Data.CuocGoi().TONGDAI_UPDATE_XACNHAN(g_CuocGoi.IDCuocGoi, message, confirmXeDon.Result, ThongTinDangNhap.USER_ID, KieuCanhBaoKhiNhapThongTin.ChuaDuSoLuongXeDon))
                                                {
                                                    new MessageBox.MessageBoxBA().Show("Cập nhật lỗi", "Thông báo", Taxi.MessageBox.MessageBoxButtonsBA.OK, Taxi.MessageBox.MessageBoxIconBA.Error);
                                                    return;
                                                }
                                                g_IsKetThuc = true;
                                            }
                                            else
                                            {
                                                g_IsKetThuc = false;
                                                return;
                                            }
                                        }
                                        else
                                        {
                                            g_IsKetThuc = false;
                                            return;
                                        }
                                    }
                                }
                                else
                                {
                                    g_IsKetThuc = true;
                                }
                                string XeNhan = g_CuocGoi.XeNhan;
                                //if (g_CuocGoi.KieuKhachHangGoiDen == KieuKhachHangGoiDen.KhachHangMoiGioi)
                                //{
                                //if (!KiemTraXeDonThuocXeNhan(xeDon, XeNhan))
                                //{
                                //    string message = string.Format("Xe {0} đón nhưng không thuộc Xe Nhận", xeDon);
                                //    using (frmConfirmXeDon confirmXeDon = new frmConfirmXeDon(KieuCanhBaoKhiNhapThongTin.XeDonKhongThuocXeNhan, message,xeDon))
                                //    {
                                //        confirmXeDon.ShowDialog();
                                //        if (confirmXeDon.DialogResult == DialogResult.OK)
                                //        {
                                //            xeDon = confirmXeDon.XeDonResult;
                                //            if (!new Taxi.Data.CuocGoi().TONGDAI_UPDATE_XACNHAN(g_CuocGoi.IDCuocGoi, message, confirmXeDon.Result, ThongTinDangNhap.USER_ID, KieuCanhBaoKhiNhapThongTin.XeDonKhongThuocXeNhan))
                                //            {
                                //                new MessageBox.MessageBox().Show("Cập nhật lỗi", "Thông báo", Taxi.MessageBox.MessageBoxButtons.OK, Taxi.MessageBox.MessageBoxIcon.Error);
                                //                return;
                                //            }
                                //        }
                                //        else
                                //        {
                                //            g_IsKetThuc = false;
                                //            return;
                                //        }
                                //    }
                                //}
                            }
                        }
                        g_Return = xeDon;
                    }
                    #endregion

                    #region XENHANDENDIEM
                    else if (g_KieuNhap == KieuNhapTrenGridTongDai.NhapXeNhanDenDiem)
                    {
                        // Check xe nhận
                        //string xeNhanDenDiem = StringTools.ConvertToChuoiXeNhanChuan(s);
                        g_Return = s;
                        //ValidateXeNhan(xeNhanDenDiem, g_CuocGoi.XeDon);
                    }
                    #endregion XENHAN

                    //g_CloseForm = true;
                    //this.DialogResult = DialogResult.OK;
                    if (g_CloseForm)
                    {
                        this.Close();
                    }
                }
            }
            catch (Exception ex)
            {
                LogError.WriteLogError(g_KieuNhap.ToString(), ex);
                throw ex;
            }
        }
        private bool updateDSXeNhan_ToaDo()
        {
            try
            {
                double KD = g_CuocGoi.GPS_KinhDo;
                double VD = g_CuocGoi.GPS_ViDo;
                if (KD == 0 || VD == 0)
                {
                    return(false);
                }

                string dsXeNhan = txtInputGrid.Text.Trim();//Chuỗi xe nhận hiện tại vừa nhập
                if (dsXeNhan == "")
                {
                    return(false);
                }

                string   dsToaDo          = "";
                string[] arrDSToaDoTruoc  = null;
                string[] arrDSXeNhan      = dsXeNhan.Split('.');//-----Cắt chuỗi xe nhận vừa nhập
                string[] arrDSXeNhanTruoc = null;
                string   dsXeNhanTruoc    = "";
                string   dsToaDoTruoc     = "";
                string   dsXeNhanMoi      = "";
                string[] arrDSToaDoMoi;

                if (g_XeNhan_Truoc != "")//-----TH đã có xe nhận đã nhập trước đó
                {
                    if (g_CuocGoi.XeNhan_TD == null || g_CuocGoi.XeNhan_TD == "")
                    {
                        //-------Nếu Tọa độ xe nhận cũ không có, lấy lại tọa độ của xe nhận cũ
                        string toaDoTruoc = "";// getToaDoXeNhanMoi(g_CuocGoi.XeNhan, KD, VD);
                        if (toaDoTruoc != "")
                        {
                            arrDSToaDoTruoc = toaDoTruoc.Split(',');//-----Cắt chuỗi tọa độ xe nhận cũ
                        }
                    }
                    else
                    {
                        arrDSToaDoTruoc = g_CuocGoi.XeNhan_TD.Split(',');//-----Cắt chuỗi tọa độ xe nhận cũ
                    }

                    arrDSXeNhanTruoc = g_XeNhan_Truoc.Split('.');//-----Cắt chuỗi xe nhận cũ
                    //----phân tích chuỗi xe nhận vừa nhập để so sánh xem xe nhận nào là cũ và xe nào là mới nhập
                    for (int i = 0; i < arrDSXeNhan.Length; i++)
                    {
                        if (arrDSXeNhan[i] != "")//-----Nếu xe nhận khác rỗng
                        {
                            //---duyệt trong chuỗi xe nhận trước đó
                            for (int j = 0; j < arrDSXeNhanTruoc.Length; j++)
                            {
                                if (arrDSXeNhanTruoc[j] == arrDSXeNhan[i]) //----Nếu xe nhận cũ có nằm trong danh sách xe nhận vừa nhập
                                {                                          //---Gán xe nhận và tọa độ trước ra 1 chuỗi khác (1)
                                    dsXeNhanTruoc = string.Format("{0}{1}.", dsXeNhanTruoc, arrDSXeNhan[i]);
                                    dsToaDoTruoc  = string.Format("{0}{1},", dsToaDoTruoc, arrDSToaDoTruoc[j]);
                                    break;
                                }
                                else//----Nếu xe nhận cũ không nằm trong danh sách xe nhận vừa nhập
                                {
                                    //-----Kiểm tra xem xe nhận có tồn tại trong chuỗi đã nhập trước đó ko.
                                    if (Array.IndexOf(arrDSXeNhanTruoc, arrDSXeNhan[j]) == 0)
                                    {
                                        dsXeNhanMoi = string.Format("{0}{1}.", dsXeNhanMoi, arrDSXeNhan[i]);//Gán xe nhận mới vào chuỗi khác (2)
                                        break;
                                    }
                                }
                            }
                        }
                    }
                    if (dsXeNhanMoi.LastIndexOf('.') > 0)
                    {
                        dsXeNhanMoi = dsXeNhanMoi.Substring(0, dsXeNhanMoi.Length - 1);
                    }
                }
                else//-----TH chưa có xe nhận trước đó
                {
                    dsXeNhanMoi = dsXeNhan;
                }

                if (dsXeNhanMoi != "")
                {
                    //dsToaDo = string.Format("{0}{1},", dsToaDoTruoc, getToaDoXeNhanMoi(dsXeNhanMoi, KD, VD));//----Tọa độ của danh sách xe nhận đã sắp xếp
                    dsToaDo  = dsToaDoTruoc;
                    g_Return = string.Format("{0}{1}.", dsXeNhanTruoc, dsXeNhanMoi);//----Danh sách xe nhận đã sắp xếp
                }
                else
                {
                    dsToaDo  = dsToaDoTruoc;  //----Tọa độ của danh sách xe nhận đã sắp xếp
                    g_Return = dsXeNhanTruoc; //----Danh sách xe nhận đã sắp xếp
                }
                if (dsToaDo.LastIndexOf(',') > 0)
                {
                    dsToaDo = dsToaDo.Substring(0, dsToaDo.Length - 1);
                }
                if (g_Return.LastIndexOf('.') > 0)
                {
                    g_Return = g_Return.Substring(0, g_Return.Length - 1);
                }

                g_Return_TD = dsToaDo;// chuoi toa do cua xe nhan da sap xep

                return(CuocGoi.TONGDAI_UPDATE_XENHAN_TOADO(g_CuocGoi.IDCuocGoi, dsToaDo));
            }
            catch (Exception ex)
            {
                return(false);
            }
        }
Exemple #24
0
 public frmLichSuCuocDieu(CuocGoi cg)
 {
     InitializeComponent();
     ViewData(cg);
 }
 private bool InsertCallCapture(CuocGoi objCuocGoiMoi)
 {
     return(new CuocGoi().InsertCuocGoiLanDauByDiaChiFromMEM_V2(objCuocGoiMoi) > 0);
 }
Exemple #26
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 #27
0
        /// <summary>
        /// Tạo công việc thực hiện chạy nền.
        /// </summary>
        public static void SendFastTaxi(CuocGoi cuocGoiRow, Enum_FastTaxi_Status status)
        {
            if (!cuocGoiRow.FT_IsFT)
            {
                return;
            }
            #region Ini
            Func <bool> func    = () => false;
            string      content = string.Empty;
            string      msg     = string.Empty;
            #endregion

            switch (status)
            {
                #region Chuyển sang đàm
            case Enum_FastTaxi_Status.ChuyenSangDam:
                //Trạng thái cập nhật dữ liệu
                func = () => Service_Common.FastTaxi.Try(client => client.SendToMasterSigningCar(cuocGoiRow.PhoneNumber, cuocGoiRow.FT_ID));
                //“[Địa chỉ đón]-[Địa chỉ trả]-[SL xe]-[Loại xe]”
                content = string.Format("{0}-{1}-{2}-{3}", cuocGoiRow.DiaChiDonKhach,
                                        cuocGoiRow.DiaChiTraKhach,
                                        cuocGoiRow.SoLuong,
                                        cuocGoiRow.LoaiXe);
                msg = "Chuyển sang đàm";
                break;
                #endregion

                #region Tiếp nhận hủy
            case Enum_FastTaxi_Status.TiepNhanHuy:
                func = () => Service_Common.FastTaxi.Try(client => client.SendToMasterOperationCancel(cuocGoiRow.PhoneNumber, cuocGoiRow.FT_ID));
                //“[Địa chỉ đón]”
                content = string.Format("{0}", cuocGoiRow.DiaChiDonKhach);
                msg     = "Tiếp nhận hủy";
                break;
                #endregion

                #region Mời khách
            case Enum_FastTaxi_Status.MoiKhach:         //Mời khách
                func    = () => Service_Common.FastTaxi.Try(client => client.SendToMasterCatchingCar(cuocGoiRow.PhoneNumber, cuocGoiRow.FT_ID));
                content = string.Format("{0}-{1}-{2}-{3}-{4}", cuocGoiRow.DiaChiDonKhach, cuocGoiRow.DiaChiTraKhach,
                                        cuocGoiRow.SoLuong, cuocGoiRow.LoaiXe, cuocGoiRow.XeNhan);
                msg = "Mời khách";
                break;
                #endregion

                #region không xe
            case Enum_FastTaxi_Status.KhongXe:        //không xe
                func    = () => Service_Common.FastTaxi.Try(client => client.SendToMasterBookingFail(cuocGoiRow.PhoneNumber, string.Empty, Enum_TaxiOperation_CallStatus.KhongXe, cuocGoiRow.FT_ID));
                content = "Không xe";
                msg     = "Không xe";
                break;
                #endregion

                #region Không xe,Đã xin lỗi khách
            case Enum_FastTaxi_Status.KhongXe_DaXinLoi:        //Không xe,Đã xin lỗi khách
                status  = Enum_FastTaxi_Status.KhongXe;
                func    = () => Service_Common.FastTaxi.Try(client => client.SendToMasterBookingFail(cuocGoiRow.PhoneNumber, string.Empty, Enum_TaxiOperation_CallStatus.KhongXe, cuocGoiRow.FT_ID));
                content = string.Format("Không xe,Đã xin lỗi khách");
                msg     = "Không xe,Đã xin lỗi khách";
                break;
                #endregion

                #region Nhập xe nhận
            case Enum_FastTaxi_Status.NhapXeNhan:        //Nhập xe nhận

                func    = () => Service_Common.FastTaxi.Try(client => client.SendToMasterSignedCar(cuocGoiRow.PhoneNumber, GetCarOnline(cuocGoiRow.XeNhan.Trim()), cuocGoiRow.FT_ID));
                content = string.Format("{0}-{1}-{2}-{3}-{4}", cuocGoiRow.DiaChiDonKhach, cuocGoiRow.DiaChiTraKhach, cuocGoiRow.SoLuong, cuocGoiRow.LoaiXe, cuocGoiRow.XeNhan);
                msg     = "Nhập xe nhận";
                break;
                #endregion

                #region Nhập xe đến điểm
            case Enum_FastTaxi_Status.NhapXeNhan_XeDenDiem:        //Nhập xe nhận

                func = () =>
                {
                    try
                    {
                        Service_Common.FastTaxi.Try(client => client.SendToMasterSignedCar(cuocGoiRow.PhoneNumber, GetCarOnline(cuocGoiRow.XeDenDiem.Trim()), cuocGoiRow.FT_ID));
                        Thread.Sleep(5000);
                        Service_Common.FastTaxi.Try(client => client.SendToMasterCatchingCar(cuocGoiRow.PhoneNumber, cuocGoiRow.FT_ID));

                        return(true);
                    }
                    catch (Exception ex)
                    {
                        LogError.WriteLogError("NhapXeNhan_XeDenDiem", ex);
                        return(false);
                    }
                };
                content = string.Format("{0}-{1}-{2}-{3}-{4}", cuocGoiRow.DiaChiDonKhach, cuocGoiRow.DiaChiTraKhach, cuocGoiRow.SoLuong, cuocGoiRow.LoaiXe, cuocGoiRow.XeNhan);

                msg = "Nhập xe đến điểm";
                break;
                #endregion

                #region Nhập xe đón
            case Enum_FastTaxi_Status.NhapXeDon:         //Nhập xe đón
                string xeDon = string.Empty;
                if (cuocGoiRow.XeDon.Trim() != "")
                {
                    xeDon = cuocGoiRow.XeDon.Trim();    //.Split('.').Select(int.Parse).ToArray();
                }
                func = () => Service_Common.FastTaxi.Try(client => client.SendToMasterBookingDone(cuocGoiRow.PhoneNumber, GetCarOnline(xeDon), cuocGoiRow.FT_ID));
                //“[Địa chỉ đón]-[Địa chỉ trả]-[SL xe]-[Loại xe]-[Xe nhận]”
                content = string.Format("{0}-{1}-{2}-{3}-{4}",
                                        cuocGoiRow.DiaChiDonKhach,
                                        cuocGoiRow.DiaChiTraKhach,
                                        cuocGoiRow.SoLuong,
                                        cuocGoiRow.LoaiXe,
                                        cuocGoiRow.XeDon);
                msg = "Nhập xe đón";
                break;
                #endregion

                #region Trượt
            case Enum_FastTaxi_Status.Truot:
                func    = () => Service_Common.FastTaxi.Try(client => client.SendToMasterBookingFail(cuocGoiRow.PhoneNumber, string.Empty, Enum_TaxiOperation_CallStatus.Truot, cuocGoiRow.FT_ID));
                content = "Trượt";
                msg     = "Trượt";
                break;
                #endregion

                #region Hoãn
            case Enum_FastTaxi_Status.Hoan:
                func    = () => Service_Common.FastTaxi.Try(client => client.SendToMasterBookingFail(cuocGoiRow.PhoneNumber, string.Empty, Enum_TaxiOperation_CallStatus.Hoan, cuocGoiRow.FT_ID));
                content = "Hoãn";
                msg     = "Hoãn";
                break;
                #endregion

                #region Đã Hoãn
            case Enum_FastTaxi_Status.Hoan_DaHoan:
                status  = Enum_FastTaxi_Status.Hoan;
                func    = () => Service_Common.FastTaxi.Try(client => client.SendToMasterBookingFail(cuocGoiRow.PhoneNumber, string.Empty, Enum_TaxiOperation_CallStatus.Hoan, cuocGoiRow.FT_ID));
                content = "Đã Hoãn";
                msg     = "Đã Hoãn";
                break;
                #endregion
            }

            #region Thực hiện kiểm tra và đưa vào hàng đợi để xử lý
            if (content != string.Empty)
            {
                var fasttaxi = new SendFastTaxiData
                {
                    Func          = func,
                    IdCuocGoi     = cuocGoiRow.IDCuocGoi,
                    Content       = content,
                    Status        = status,
                    Msg           = msg
                    , PhoneNumber = cuocGoiRow.PhoneNumber,
                    DiaChiDon     = cuocGoiRow.DiaChiDonKhach,
                    XeDon         = cuocGoiRow.XeDon,
                    XeNhan        = cuocGoiRow.XeNhan
                };
                //đưa vào hàng đợi xử lý
                queueFastTaxi.Enqueue(fasttaxi);//  bwSync_SendFastTaxiCuocGoi.RunWorkerAsync(fasttaxi);
            }
            #endregion
        }
        public static bool SendInitTrip(CuocGoi objCuocGoi)
        {
            try
            {
                var tenKH = "";
                if (!string.IsNullOrEmpty(objCuocGoi.DiaChiGoi.Trim()))
                {
                    tenKH = string.Format("-[{0}]", objCuocGoi.DiaChiGoi.Trim());
                }
                LatLng currentLatLng = new LatLng {
                    Lat = (float)objCuocGoi.GPS_ViDo, Lng = (float)objCuocGoi.GPS_KinhDo
                };
                var from = new AddressInfo
                {
                    Address = string.Format("{0}{1}", objCuocGoi.DiaChiDonKhach, tenKH),
                    Name    = objCuocGoi.DiaChiDonKhach,
                    LatLng  = currentLatLng
                };
                var to = new AddressInfo
                {
                    Address = objCuocGoi.DiaChiTraKhach,
                    Name    = objCuocGoi.DiaChiTraKhach,
                    LatLng  = new LatLng {
                        Lat = (float)objCuocGoi.GPS_ViDo_Tra, Lng = (float)objCuocGoi.GPS_KinhDo_Tra
                    }
                };
                byte carType = 0;
                if (objCuocGoi.G5_CarType == "" || objCuocGoi.G5_CarType.Split(',').Length > 1)
                {
                    carType = 0;
                }
                else
                {
                    byte.TryParse(objCuocGoi.G5_CarType, out carType);
                }
                byte   customerType   = 0;
                var    vehicleOptions = new List <VehicleOption>();
                string xeDonChiDinh   = ""; // objCuocGoi.XeDenDiem != null && objCuocGoi.XeDenDiem != "" ? objCuocGoi.XeDenDiem : objCuocGoi.XeNhan;
                string xeDieuChiDinh  = ""; // objCuocGoi.TrangThaiCuocGoi == TrangThaiCuocGoiTaxi.DieuLaiAppLaiXe ? string.Empty : xeDonChiDinh;
                if (Config_Common.App_SendRadioTrip && objCuocGoi.XeDenDiem.IndexOf(".") <= 0)
                {
                    xeDonChiDinh  = objCuocGoi.XeDenDiem != null && objCuocGoi.XeDenDiem != "" ? objCuocGoi.XeDenDiem : objCuocGoi.XeNhan;
                    xeDieuChiDinh = objCuocGoi.TrangThaiCuocGoi == TrangThaiCuocGoiTaxi.DieuLaiAppLaiXe ? string.Empty : xeDonChiDinh;
                }
                if (!string.IsNullOrEmpty(xeDieuChiDinh))
                {
                    var lst = xeDieuChiDinh.Split('.');
                    foreach (var s in lst)
                    {
                        vehicleOptions.Add(new VehicleOption
                        {
                            Distance = 0,                            //Khoảng cách
                            Vehicle  = CommonBL.ConvertSangBienSo(s) // Chuyển đổi thành biển số
                        });
                    }
                }
                string[] arrVehicleDeny = null;
                if (!string.IsNullOrEmpty(objCuocGoi.XeNhan))
                {
                    arrVehicleDeny = new string[] { objCuocGoi.XeNhan };
                }
                else if (!string.IsNullOrEmpty(objCuocGoi.XeDungDiem))
                {
                    arrVehicleDeny = new string[] { objCuocGoi.XeDungDiem };
                }
                Direction chieu = Direction.One;
                if (objCuocGoi.Long_ChieuID == 2)
                {
                    chieu = Direction.Two;
                }
                int GiaPhuTroi_Km  = 0;
                int GiaPhuTroi_Gio = 0;
                int LoaiXeID       = 0;
                int.TryParse(objCuocGoi.Long_LoaiXeID, out LoaiXeID);
                if (CommonBL.ListDanhMucVuotGio != null)
                {
                    Data.BanCo.Entity.TuyenThueBao.VuotGioQuyDinh temp = CommonBL.ListDanhMucVuotGio.Find(a => a.FK_LoaiXeID == LoaiXeID);
                    if (temp != null)
                    {
                        if (chieu == Direction.Two)
                        {
                            int.TryParse(temp.GiaDinhMucVuot1KmHaiChieu.ToString(), out GiaPhuTroi_Km);
                            int.TryParse(temp.GiaDinhMucVuot1GioHaiChieu.ToString(), out GiaPhuTroi_Gio);
                        }
                        else
                        {
                            int.TryParse(temp.GiaDinhMucVuot1KmMotChieu.ToString(), out GiaPhuTroi_Km);
                        }
                    }
                }
                BookTripType tripType = BookTripType.Normal;
                if (objCuocGoi.LoaiCuocKhach == LoaiCuocKhach.ChoKhachDuongDai)
                {
                    tripType = BookTripType.Long;
                }
                if (objCuocGoi.BookId == Guid.Empty)//Chưa khởi tạo thì khởi tạo
                {
                    objCuocGoi.BookId = Guid.NewGuid();
                    CuocGoi.G5_DIENTHOAI_UpdateBookIdByIdCuocGoi(objCuocGoi.BookId, objCuocGoi.IDCuocGoi, Enum_G5_Type.DieuApp, objCuocGoi.LenhDienThoai);
                    LogError.WriteLogInfo(string.Format("G5_DIENTHOAI_UpdateBookIdByIdCuocGoi:{0}-{1}-{2} Taxi", objCuocGoi.IDCuocGoi, objCuocGoi.CuocGoiLaiIDs, objCuocGoi.BookId));
                }

                string comment   = objCuocGoi.GhiChuDienThoai;
                string ghichu    = "";
                string showphone = "0";
                if (Config_Common.AppLX_CMDID_ShowPhoneNumber > 0)
                {
                    //{"p":1, "c":"ghi chu"}
                    if (objCuocGoi.GhiChuDienThoai != null && objCuocGoi.GhiChuDienThoai != "")
                    {
                        ghichu = objCuocGoi.GhiChuDienThoai;
                    }
                    if ((objCuocGoi.ShowPhoneAppDriver != null && objCuocGoi.ShowPhoneAppDriver) || objCuocGoi.LenhDienThoai.Contains(CommandCode.LENH_SHOWPHONENUMBER))
                    {
                        showphone = "1";
                    }

                    comment = "{" + string.Format("\"p\":{0}, \"c\":\"{1}\"", showphone, ghichu) + "}";
                }
                //temp.GiaDinhMucVuot1GioHaiChieu
                return(Client.TryGet(p => p.SendInitTrip(
                                         objCuocGoi.BookId,
                                         from,
                                         to,
                                         comment,
                                         (byte)objCuocGoi.SoLuong,
                                         carType,
                                         customerType,
                                         objCuocGoi.PhoneNumber,
                                         vehicleOptions.ToArray(),
                                         currentLatLng,
                                         arrVehicleDeny,
                                         tripType,
                                         objCuocGoi.Money_Contract > 0 ? objCuocGoi.Money_Contract : objCuocGoi.Long_GiaTien,
                                         objCuocGoi.Long_Km,
                                         chieu,
                                         GiaPhuTroi_Km,
                                         GiaPhuTroi_Gio)).Value);
            }
            catch (Exception ex)
            {
                LogError.WriteLogError("App SendInitTrip", ex);
                return(false);
            }
        }
 public frmHienThiBanDo(CuocGoi cuocGoi)
 {
     InitializeComponent();
     g_CuocGoi = cuocGoi;
     ConfigMap();
 }
Exemple #30
0
 /// <summary>
 /// Thực hiện gửi từng bảng ghi cho fastTaxi
 /// </summary>
 /// <param name="fast"></param>
 private static void SendDataFastTaxi(SendFastTaxiData fast)
 {
     if (fast != null)
     {
         //if (Debug && !frmlog.Visible)
         //{
         //    frmlog.ShowForm();
         //}
         //if (Debug) frmlog.WriteLog(fast.IdCuocGoi, fast.Msg, fast.Content, "Bắt đầu gửi" + (fast.GuiLai ? " Gửi lại" : ""));
         var flg      = false;
         var soLan    = 0;
         var thuchien = false;
         try
         { do
           {
               try
               {
                   flg      = fast.Func();
                   thuchien = true;
               }
               catch (Exception ex)
               {
                   flg = false;
                   //new Log().WriteLog(ThongTinDangNhap.USER_ID, "RefreshServerFastTaxi", DateTime.Now, "ID:"+fast.IdCuocGoi.ToString()+" - Số lần:"+soLan.ToString());
                   LogError.WriteLogError("SendDataFastTaxi", ex);
               }
               soLan++;
               if (!thuchien && soLan < 5)
               {
                   Thread.Sleep(1);
               }
               else
               {
                   // thuchien = true;
               }
           } while (!thuchien && soLan < 5); }
         catch (Exception ex)
         {
             //LogError.WriteLogError("SendDataFastTaxi", ex);
             //new Log().WriteLog(ThongTinDangNhap.USER_ID, "bwSync_SendFastTaxiCuocGoi_DoWork", DateTime.Now, "fast==null");
             LogError.WriteLogError("SendDataFastTaxi 2", ex);
             flg = false;
         }
         finally
         {
             //if (Debug && !frmlog.Visible)
             //{
             //    frmlog.ShowForm();
             //}
             //if (Debug) frmlog.WriteLog(fast.IdCuocGoi, fast.Msg, fast.Content, "Kq:" + (flg ? "Thành công" : "Thất bại") + ";" + "TH:" + (thuchien ? "Được" : "Không"));
             CuocGoi.FT_History_Create((int)fast.IdCuocGoi, fast.Content, (int)fast.Status, flg);
             if (!thuchien)
             {
                 queueFastTaxiFail.Enqueue(fast);
             }
         }
     }
     else
     {
         LogError.WriteLogErrorForDebug("SendDataFastTaxi null");
         //new Log().WriteLog(ThongTinDangNhap.USER_ID, "bwSync_SendFastTaxiCuocGoi_DoWork", DateTime.Now, "xảy ra lỗi khi gửi dữ liệu");
     }
 }