예제 #1
0
        void timerCapture_Elapsed(object sender, System.Timers.ElapsedEventArgs e)
        {
            g_Count++;

            if (g_Count >= g_SoGiay && g_bRun)
            {
                Random ran    = new Random();
                int    iLine  = ran.Next(0, 5);
                int    iPhone = ran.Next(0, g_Len - 1);

                long id = TaxiCapture.InsertCuocGoiLanDauByDiaChiFromMEM(this.g_ConnecString, lstLine[iLine].ToString(),
                                                                         lstPhone[iPhone],
                                                                         DateTime.Now,
                                                                         "",
                                                                         0,
                                                                         Taxi.Utils.KieuKhachHangGoiDen.KhachHangBinhThuong,
                                                                         "",
                                                                         0,
                                                                         0,
                                                                         "",
                                                                         "");
                if (id > 0)
                {
                    // statusLblSoCuocChoXuLy.Text = "Đang thoại : " + g_ListCuocGoiChoXuLy.Count.ToString();
                    lblGoiDen.Invoke((MethodInvoker) delegate()
                    {
                        lblGoiDen.Text = "Gọi đến : " + lstLine[iLine].ToString() + " - " + lstPhone[iPhone];
                    });
                }

                g_Count = 0;
            }
        }
        private void btnThucHien_Click(object sender, EventArgs e)
        {
            DateTime tuNgay  = new DateTime(dateNgay.Value.Year, dateNgay.Value.Month, dateNgay.Value.Day, 0, 0, 0);
            DateTime denNgay = new DateTime(dateNgay.Value.Year, dateNgay.Value.Month, dateNgay.Value.Day, 23, 59, 59);
            // Lấy cuộc gọi đi trong VOC (Access)
            string fileVOCPath = VocFilePath(tuNgay);

            TaxiCapture.DeleteXoaCuocGoiDi(g_ConnecString, tuNgay, denNgay, g_ListLines);

            List <VOC> listCuocGoiDi = TaxiCapture.GetThongTinCuocGoiDiTrongVOC(tuNgay, denNgay, fileVOCPath, g_ListLines);
            // lấy ds đăng nhập hiện thống của các máy trong CS
            List <CheckInCheckOut> listCheckIO = TaxiCapture.GetCheckInCheckOut(g_ConnecString, tuNgay, denNgay);

            // Quét lần lượt các cuốc gọi đi
            // Lấy thông số Line + Thời điểm gọi tìm ra nhân viên đang làm việc.
            if (listCuocGoiDi != null && listCuocGoiDi.Count > 0)
            {
                foreach (VOC cuocGoi in listCuocGoiDi)
                {
                    string username = TaxiCapture.GetUserGoiDi(cuocGoi.Channel.ToString(), cuocGoi.StartTime, listCheckIO);
                    TaxiCapture.InsertCuocGoiDi(g_ConnecString, cuocGoi, username);
                }
            }
            MessageBox.Show(" Thực hiện xong lấy cuộc gọi ngày : " + tuNgay.ToShortDateString());
        }
예제 #3
0
 private void btnGenCall_Click(object sender, EventArgs e)
 {
     try
     {
         long id = TaxiCapture.InsertCuocGoiLanDauByDiaChiFromMEM(this.g_ConnecString,
                                                                  txtLine.Text,
                                                                  txtSoDienThoai.Text,
                                                                  DateTime.Now,
                                                                  "",
                                                                  0,
                                                                  Taxi.Utils.KieuKhachHangGoiDen.KhachHangBinhThuong,
                                                                  "",
                                                                  0,
                                                                  0,
                                                                  "",
                                                                  "");
         if (id > 0)
         {
             // statusLblSoCuocChoXuLy.Text = "Đang thoại : " + g_ListCuocGoiChoXuLy.Count.ToString();
             lblGoiDen.Invoke((MethodInvoker) delegate()
             {
                 lblGoiDen.Text = "Gọi đến : " + txtLine.Text + " - " + txtSoDienThoai.Text;
             });
         }
         else
         {
             MessageBox.Show("LOI : Không chèn được.");
         }
     }
     catch (Exception ex)
     {
         MessageBox.Show("LOI :" + ex.Message);
     }
 }
예제 #4
0
        /// <summary>
        /// cập nhật db cuộc gọi nhỡ
        /// xóa trong g_ListCuocGoiLogInComing ds cuộc gọi đang theo doi
        /// </summary>
        /// <param name="ListInCom"></param>
        private void UpdateDataBase_And_DeleteCuocGoiNho()
        {
            List <int> ListCuocGoiCanXoaIndex = new List <int>();
            int        Index = -1;

            for (int i = 0; i < g_ListCuocGoiLogInComing.Count; i++)
            {
                Index++;
                DateTime ThoiGianKhongNhacMay = TaxiCapture.GetThongTinCuaCuocGoiNhoInCom(g_ListCuocGoiLogInComing[i].PhoneNumber, g_ListCuocGoiLogInComing[i].ThoiDiemGoiDen, g_FileInComPath);
                if (ThoiGianKhongNhacMay != DateTime.MinValue)  // có cuộc gọi nhỡ
                {
                    ListCuocGoiCanXoaIndex.Add(Index);
                    // cap nhat DB
                    if (!TaxiCapture.Update_DienThoai_CuocGoiNho(this.g_ConnecString, g_ListCuocGoiLogInComing[i].CuocGoiID, GetSoChuong(g_ListCuocGoiLogInComing[i].ThoiDiemGoiDen, ThoiGianKhongNhacMay), "gọi nhỡ", TrangThaiCuocGoiTaxi.TrangThaiKhac, TrangThaiLenhTaxi.KetThucCuaDienThoai))
                    {
                        LogError.WriteLogError("Loi luu xuong DB", new Exception("Loi luu cuoc goi nho"));
                    }
                }
            }

            /// xóa trong g_ListCuocGoiLogInComing
            /// ...
            if ((ListCuocGoiCanXoaIndex != null) && (ListCuocGoiCanXoaIndex.Count > 0))
            {
                foreach (int IndexXoa in ListCuocGoiCanXoaIndex)
                {
                    if ((IndexXoa >= 0) && (g_ListCuocGoiLogInComing.Count > 0))
                    {
                        g_ListCuocGoiLogInComing.RemoveAt(IndexXoa);
                    }
                }
                ListCuocGoiCanXoaIndex.Clear();
                ListCuocGoiCanXoaIndex = null;
            }
        }
예제 #5
0
        private void bw_DoWork(object sender, DoWorkEventArgs e)
        {
            // kiem tra la co cuoc goi moi hoac cuoc goi dang theo doi thi thuc hien
            if ((g_ListCuocGoiLogInComing != null) && (g_ListCuocGoiLogInComing.Count > 0))
            {
                XacDinhCuocGoiNho_InCom();
                XacDinhCuocGoiCoDuration_VOC();
            }

            // Xoa nhung truong hop du thua
            g_iCount++;
            if (g_iCount > 300)
            {
                // Xoa nhung cuoc du thua
                DeleteNhungCuocDuThua();
                g_iCount = 0;
            }


            if (DateTime.Now.Hour == 3 && DateTime.Now.Minute == 1 && DateTime.Now.Second < 5)
            {
                CaptureCuocGoiDi();
                TaxiCapture.DeletePhoneCallVocFile_CuocGoiDi(g_FileVOCPath);
            }
        }
        /// <summary>
        /// Khoi tao du lieu luc dau
        /// </summary>
        private void Init()
        {
            timerCapture          = new System.Timers.Timer(1000); // nửa giây quét một lần.
            timerCapture.Elapsed += new System.Timers.ElapsedEventHandler(timerCapture_Elapsed);
            timerCapture.Enabled  = true;


            g_ConnecString = System.Configuration.ConfigurationManager.AppSettings["ConnectionString"];
            // Lay thong tin he thong
            ThongTinCauHinh.LayThongTinCauHinh();

            g_ThoiDiemLayTruocVOC = DateTime.Now;

            if (ThongTinCauHinh.SoDauCuaTongDai.Length > 0)
            {
                g_HasSoDauTongDai = true;
            }
            else
            {
                g_HasSoDauTongDai = false;
            }

            g_SoCuocGoiGiuLai = Configuration.GetSoCuocGoiGiuLai();
            g_FileVOCPath     = Configuration.VocFilePath();

            if ((!FileTools.IsExsitFile(g_FileVOCPath)))
            {
                MessageBox.Show("Không tồn tại file thông tin cuộc gọi.Liên lạc với quản trị hệ thống.", "Thông báo", MessageBoxButtons.OK, MessageBoxIcon.Error);
                Environment.Exit(1);
                return;
            }
            else
            {
                TaxiCapture.DeletePhoneCallVocFile(DateTime.Now, g_FileVOCPath);
            }


            // check connection
            if (!DieuHanhTaxi.CheckConnection())
            {
                MessageBox.Show("Không kết nối được với cơ sở dữ liệu.Cần liên lạc với quản trị hệ thống.", "Thông báo", MessageBoxButtons.OK, MessageBoxIcon.Error);
                Environment.Exit(1);
                return;
            }
            /// end check connection


            // Thong tin status bar
            statusLblKhoiDongLuc.Text   = " Khởi động : " + string.Format("{0:HH:mm dd/MM}", DateTime.Now);
            statusLblSoCuocChoXuLy.Text = " Cuộc chờ xử lý : 0";
            statusLblServer.Text        = " Server: " + GetServerName(g_ConnecString);
            statusLblDatabase.Text      = " DB: " + GetDatabaseName(g_ConnecString);
            this.Text = Configuration.GetCompanyName() + " - " + this.Text;

            g_ListLines = TaxiCapture.GetLineDialOutCS(g_ConnecString);  // lấy line của CS

            g_TimeSecondOnDay = (int)DateTime.Now.TimeOfDay.TotalSeconds;
        }
예제 #7
0
        /// <summary>
        /// hàm xử lý trong timer
        ///
        /// Tổ chức.
        ///    - Yêu tiên bắt số 1/2 giấy bắt số gọi đến một lần
        ///    - Số bắt được lưu vào ds cuộc gọi đến
        ///    - Dùng backgroudworker để xác định các cuộc gọi
        ///         - Phân chuông của cuộc gọiđã nghe máy, tính vào lúc đã có được ghi âm
        /// </summary>
        /// <param name="sender"></param>
        /// <param name="e"></param>
        void timerCapture_Elapsed(object sender, System.Timers.ElapsedEventArgs e)
        {
            try
            {
                if (g_BlinkIcon == 0)
                {
                    notifyIcon1.Icon = global::TaxiOperation_CallCapture2.Properties.Resources.Taxi;
                    g_BlinkIcon      = 1;
                }
                else
                {
                    notifyIcon1.Icon = global::TaxiOperation_CallCapture2.Properties.Resources.TongDai;
                    g_BlinkIcon      = 0;
                }

                if (g_bTimerHoanThanh)
                {
                    g_bTimerHoanThanh = false;
                    List <StructCuocGoi> ListLog;
                    if (!ThongTinCauHinh.HasTongDai)
                    {
                        ListLog = TaxiCapture.GetNhungCuocGoiMoiCuaLogInComing(g_FileLogIncomingPath);
                    }
                    else // Co lay du lieu tu tong dai
                    {
                        ListLog = TaxiCapture.GetNhungCuocGoiMoiCuaTongDai_COMPort(g_ConnecString, g_ThoiDiemLayDuLieuTruocDay);
                    }
                    //cap nhat vao danh sach theo doi cuoc goi nho + cuoc goi chua co chuong, thoi luong cuoc goi
                    if ((ListLog != null) && (ListLog.Count > 0))
                    {
                        List <StructCuocGoi> ListLogNew = InsertCuocGoiLanDauLogIncoming(ListLog);
                        //cong them vao g_ListCuocGoiLogInComing
                        AddToListLogIncoming(ListLogNew);

                        ListLog.Clear();
                        ListLog = null;
                    }

                    // Xử lý backgroundwordker
                    if (g_bKetThucBackgroundWork)
                    {
                        g_bKetThucBackgroundWork = false;
                        BackgroundWorker bw = new BackgroundWorker();
                        bw.DoWork             += new DoWorkEventHandler(bw_DoWork);
                        bw.RunWorkerCompleted += new RunWorkerCompletedEventHandler(bw_RunWorkerCompleted);

                        bw.RunWorkerAsync();
                    }

                    g_bTimerHoanThanh           = true;
                    g_ThoiDiemLayDuLieuTruocDay = DateTime.Now;
                }
            }
            catch (Exception ex)
            {
                LogError.WriteLogError("Loi trong timer.", ex);
            }
        }
예제 #8
0
        /// <summary>
        /// Khoi tao du lieu luc dau
        /// </summary>
        private void Init()
        {
            // Lay thong tin he thong
            ThongTinCauHinh.LayThongTinCauHinh();
            if (ThongTinCauHinh.SoDauCuaTongDai.Length > 0)
            {
                g_HasSoDauTongDai = true;
            }
            else
            {
                g_HasSoDauTongDai = false;
            }
            g_ConnecString = System.Configuration.ConfigurationManager.AppSettings["ConnectionString"];


            g_FileLogIncomingPath = Configuration.LogIncomingPath();
            g_FileInComPath       = Configuration.InComFilenamePath();
            g_FileVOCPath         = Configuration.VocFilePath();

            if ((!FileTools.IsExsitFile(g_FileLogIncomingPath)) || (!FileTools.IsExsitFile(g_FileInComPath)) || (!FileTools.IsExsitFile(g_FileVOCPath)))
            {
                MessageBox.Show("Không tồn tại file thông tin cuộc gọi.Liên lạc với quản trị hệ thống.", "Thông báo", MessageBoxButtons.OK, MessageBoxIcon.Error);
                Application.Exit();
                return;
            }
            // check connection
            if (!DieuHanhTaxi.CheckConnection())
            {
                MessageBox.Show("Không kết nối được với cơ sở dữ liệu.Cần liên lạc với quản trị hệ thống.", "Thông báo", MessageBoxButtons.OK, MessageBoxIcon.Error);
                Application.Exit();
                return;
            }
            /// end check connection
            timerCapture          = new System.Timers.Timer(500); // nửa giây quét một lần.
            timerCapture.Elapsed += new System.Timers.ElapsedEventHandler(timerCapture_Elapsed);
            timerCapture.Enabled  = true;
            try
            {
                // Xoa toan bo du lieu hien tai cua he thong phan cung
                TaxiCapture.DeletePhoneCallInCom(DateTime.Now, g_FileInComPath);
                TaxiCapture.DeletePhoneCallLogIncomming(DateTime.Now, g_FileLogIncomingPath);
                TaxiCapture.DeletePhoneCallVocFile(DateTime.Now, g_FileVOCPath);
            }
            catch (Exception ex)
            {
                MessageBox.Show("Có lỗi thiết lập (reset) các cuộc gọi.Cần liên lạc với quản trị hệ thống.", "Thông báo", MessageBoxButtons.OK, MessageBoxIcon.Error);
                Application.Exit();
            }

            CaptureCuocGoiDi();
            TaxiCapture.DeletePhoneCallVocFile_CuocGoiDi(g_FileVOCPath);

            g_bKetThucBackgroundWork = true;
            g_bTimerHoanThanh        = true;
            g_iKhoiDongLai           = 0;
        }
 /// <summary>
 /// Insert Cuoc Goi tu Khach Dat Hen
 /// </summary>
 /// <param name="KhachDat"></param>
 private void InsertCuocGoiKhachDat(KhachDatBL KhachDat)
 {
     try
     {
         //đặt  line là 99 để thông nhất là line khách đặt
         TaxiCapture.InsertCuocGoiLanDau_KhachDat(g_ConnecString, 99, KhachDat.VungKenh, KhachDat.SoDienThoai, DateTime.Now, KhachDat.DiaChi, KhachDat.GhiChu, KhachDat.LoaiXe, KhachDat.SoLuongXe, KhachDat.PK_KhachDatID, KhachDat.KinhDo, KhachDat.ViDo);
     }
     catch (Exception ex)
     {
         LogError.WriteLogError("Lỗi  InsertCuocGoiKhachDat", new Exception("InsertCuocGoiKhachDat"));
     }
 }
예제 #10
0
        /// <summary>
        /// hàm chèn một ds cuộc gọi mới
        ///   - trả về 1 ds cuộc gọi mới có thay đổi IDCuôcGọi
        /// </summary>
        /// <param name="ListLog"></param>
        /// <returns></returns>
        private List <StructCuocGoi> InsertCuocGoiLanDauLogIncoming(List <StructCuocGoi> ListLog)
        {
            List <StructCuocGoi> ListLogReturn = new List <StructCuocGoi>();

            // Cap nhat database - chèn cuộc gọi lần đầu
            for (int i = 0; i < ListLog.Count; i++)
            {
                StructCuocGoi objCuocGoiNew = ListLog[i];
                /// Lap lai 5 lan neu khong chen duoc

                int  iLan      = 0;
                long IDCuocGoi = -1;
                while ((IDCuocGoi <= 0) && (iLan < 5))
                {
                    string SoDienThoai = objCuocGoiNew.PhoneNumber;
                    // 437856099 or 906228313 thi them 0
                    if ((SoDienThoai.Length >= 9) && (SoDienThoai.Substring(0, 1) != "0"))
                    {
                        SoDienThoai = "0" + SoDienThoai;
                    }
                    if (SoDienThoai.Length > 10)
                    {
                        SoDienThoai = TaxiCapture.LocSoDienThoai(SoDienThoai);
                    }

                    IDCuocGoi = TaxiCapture.InsertCuocGoiLanDau(this.g_ConnecString, objCuocGoiNew.Line, SoDienThoai, objCuocGoiNew.ThoiDiemGoiDen);
                    iLan++;

                    if (IDCuocGoi <= 0)
                    {
                        if (IDCuocGoi == -2)
                        {
                            iLan = 5;
                        }
                        else
                        {
                            System.Threading.Thread.Sleep(50);
                        }
                    }
                }
                if ((IDCuocGoi <= 0) || (iLan >= 5))
                {
                    LogError.WriteLogError("Loi  : luu du lieu vao database [InsertCuocGoiLanDau], " + IDCuocGoi.ToString(), new Exception("Loi luu lan dau cuoc goi tu log file"));
                }
                else
                {
                    objCuocGoiNew.CuocGoiID = IDCuocGoi;
                    ListLogReturn.Add(objCuocGoiNew);
                }
            }

            return(ListLogReturn);
        }
        /// <summary>
        /// hàm xử lý trong timer
        ///
        /// Tổ chức.
        ///    - Yêu tiên bắt số 1/2 giấy bắt số gọi đến một lần
        ///    - Số bắt được lưu vào ds cuộc gọi đến
        ///    - Dùng backgroudworker để xác định các cuộc gọi
        ///         - Phân chuông của cuộc gọiđã nghe máy, tính vào lúc đã có được ghi âm
        /// </summary>
        /// <param name="sender"></param>
        /// <param name="e"></param>
        void timerCapture_Elapsed(object sender, System.Timers.ElapsedEventArgs e)
        {
            lblRuntime.Invoke(
                (MethodInvoker) delegate() {
                lblRuntime.Text = string.Format("{0:HH:mm:ss}", DateTime.Now);
            }
                );

            if (DateTime.Now.Hour == 3 && !g_ChuaThucHien)
            {
                try{
                    DateTime ngayThucHien = DateTime.Now.AddDays(-1);
                    DateTime tuNgay       = new DateTime(ngayThucHien.Year, ngayThucHien.Month, ngayThucHien.Day, 0, 0, 0);
                    DateTime denNgay      = new DateTime(ngayThucHien.Year, ngayThucHien.Month, ngayThucHien.Day, 23, 59, 59);
                    // Lấy cuộc gọi đi trong VOC (Access)
                    string fileVOCPath = VocFilePath(tuNgay);
                    TaxiCapture.DeleteXoaCuocGoiDi(g_ConnecString, tuNgay, denNgay, g_ListLines);

                    List <VOC> listCuocGoiDi = TaxiCapture.GetThongTinCuocGoiDiTrongVOC(tuNgay, denNgay, fileVOCPath, g_ListLines);
                    // lấy ds đăng nhập hiện thống của các máy trong CS
                    List <CheckInCheckOut> listCheckIO = TaxiCapture.GetCheckInCheckOut(g_ConnecString, tuNgay, denNgay);

                    // Quét lần lượt các cuốc gọi đi
                    // Lấy thông số Line + Thời điểm gọi tìm ra nhân viên đang làm việc.
                    if (listCuocGoiDi != null && listCuocGoiDi.Count > 0)
                    {
                        foreach (VOC cuocGoi in listCuocGoiDi)
                        {
                            string username = TaxiCapture.GetUserGoiDi(cuocGoi.Channel.ToString(), cuocGoi.StartTime, listCheckIO);
                            TaxiCapture.InsertCuocGoiDi(g_ConnecString, cuocGoi, username);
                        }
                    }
                }
                catch (Exception ex)
                {
                }
                g_ChuaThucHien = true;
                lblLanThucHienGanDay.Invoke(
                    (MethodInvoker) delegate()
                {
                    lblLanThucHienGanDay.Text = string.Format("{0:HH:mm:ss}", DateTime.Now);
                }
                    );
            }

            if (DateTime.Now.Hour != 3)
            {
                g_ChuaThucHien = false;
            }
        }
        /// <summary>
        /// Hamf thuc hien lay file ghi am tu thoi diem ThoiDiemLayTruoc toi bay gio
        /// </summary>
        /// <param name=" "></param>
        private void ThucHienLayFileGhiAm(DateTime TuThoiDiem, DateTime DenThoiDiem, string VOCFilenamePath)
        {
            // Lay VOC file
            List <VOC> lstVOC = new List <VOC>();

            lstVOC = TaxiCapture.GetThongTinCuocGoiTrongVOC(TuThoiDiem, DenThoiDiem, VOCFilenamePath);
            if (lstVOC != null && lstVOC.Count > 0)
            {
                foreach (VOC objVoc in lstVOC)
                {
                    TaxiCapture.InsertVOC(objVoc, this.g_ConnecString);
                    // LogError.WriteLogError(string.Format("VOC : line {0}, phone : {1}, thoidiem : {2:HH:mm:ss dd/MM},Foming : {3}, file : {4} ", objVoc.Channel, objVoc.Code, objVoc.StartTime,objVoc.Fomin,objVoc.FilePath), new Exception(""));
                }
            }
        }
예제 #13
0
        /// <summary>
        /// lấy nhưng cuộc gọi đã có duration, và cập nhật BD
        /// </summary>
        private void XacDinhCuocGoiCoDuration_VOC()
        {
            try
            {
                List <int> ListInDexDurationXoa = new List <int>();
                int        index = -1;
                if ((g_ListCuocGoiLogInComing == null) || (g_ListCuocGoiLogInComing.Count <= 0))
                {
                    return;
                }
                for (int i = 0; i < g_ListCuocGoiLogInComing.Count; i++)
                {
                    index++;
                    DateTime Duration;
                    string   FileAmThanh;
                    DateTime ThoiDiemBatDauNghe;
                    TimeSpan timeSpan = DateTime.Now - g_ListCuocGoiLogInComing[i].ThoiDiemGoiDen;
                    if (timeSpan.TotalSeconds > 5)     // nhung cuoc cach thoi gian nghe may it nhat 5 giay thi moi xu ly
                    {
                        bool bOK = TaxiCapture.GetThongTinCuaCuocGoiDaNgheMayCo_Duration_VOC(g_ListCuocGoiLogInComing[i].PhoneNumber, g_ListCuocGoiLogInComing[i].ThoiDiemGoiDen, g_FileVOCPath, out ThoiDiemBatDauNghe, out Duration, out FileAmThanh);

                        if (bOK)
                        {
                            CapNhatDuratoin_FileAmThanh_LogInComing(g_ConnecString, g_ListCuocGoiLogInComing[i].PhoneNumber, g_ListCuocGoiLogInComing[i].ThoiDiemNgheMay, GetSoChuong(g_ListCuocGoiLogInComing[i].ThoiDiemGoiDen, ThoiDiemBatDauNghe), Duration, FileAmThanh);
                            ListInDexDurationXoa.Add(index);
                        }
                    }
                }

                if ((ListInDexDurationXoa != null) && (ListInDexDurationXoa.Count > 0))
                {
                    foreach (int indexXoa in ListInDexDurationXoa)
                    {
                        if ((indexXoa >= 0) && (g_ListCuocGoiLogInComing.Count > 0))
                        {
                            g_ListCuocGoiLogInComing.RemoveAt(indexXoa);
                        }
                    }
                    ListInDexDurationXoa.Clear();
                    ListInDexDurationXoa = null;
                }
            }
            catch (Exception ex)
            {
                LogError.WriteLogError("Loi  XacDinhCuocGoiCoDuration_VOC ", ex);
            }
        }
예제 #14
0
 /// <summary>
 /// cập nhật duration vào database
 /// xoa các cuộc goi này đi
 /// </summary>
 /// <param name="objCuocGoi"></param>
 /// <param name="Duration"></param>
 /// <param name="FileAmThanh"></param>
 private void CapNhatDuratoin_FileAmThanh_LogInComing(string ConnectionString, string PhoneNumber, DateTime ThoiDiemNgheMay, int SoChuong, DateTime Duration, string FileAmThanh)
 {
     try
     {
         for (int i = 0; i < g_ListCuocGoiLogInComing.Count; i++)
         {
             if (PhoneNumber == g_ListCuocGoiLogInComing[i].PhoneNumber)
             {
                 ///Capnhat DB  - Duration , FileAmThanh, so chuong
                 if (!TaxiCapture.Update_DienThoai_KetThucCuocGoiDenCoBatMay(ConnectionString, g_ListCuocGoiLogInComing[i].CuocGoiID, SoChuong, Duration, FileAmThanh, TrangThaiCuocGoiTaxi.TrangThaiKhac, TrangThaiLenhTaxi.KhongTruyenDi))
                 {
                     LogError.WriteLogError("Loi luu xuong DB Update_DienThoai_KetThucCuocGoiDenCoBatMay ", new Exception("Loi luu cuoc goi da Bat May"));
                 }
             }
         }
     }
     catch (Exception ex)
     {
         LogError.WriteLogError("Loi  CapNhatDuratoin_FileAmThanh_LogInComing ", ex);
     }
 }
예제 #15
0
        /// <summary>
        /// xac điịnh cuoc goi da nghe máy
        /// có luôn duration + file voice
        /// </summary>
        private void   XacDinhCuocGoiCoNgheMay_VOC()
        {
            if ((g_ListCuocGoiLogInComing == null) || (g_ListCuocGoiLogInComing.Count <= 0))
            {
                return;
            }
            int len = g_ListCuocGoiLogInComing.Count;

            for (int i = 0; i < len; i++)
            {
                if (g_ListCuocGoiLogInComing[i].ThoiDiemGoiDen > g_ListCuocGoiLogInComing[i].ThoiDiemNgheMay) // chi chon nhung cuoc chua nghe may
                {
                    DateTime ThoiGianNhacMay = TaxiCapture.GetThongTinCuaCuocGoiDaNgheMay_VOC(g_ListCuocGoiLogInComing[i].PhoneNumber, g_ListCuocGoiLogInComing[i].ThoiDiemGoiDen, g_FileVOCPath);
                    if (ThoiGianNhacMay != DateTime.MinValue)  // có cuộc gọi nhỡ
                    {
                        // cap nhat DB
                        if (!TaxiCapture.Update_DienThoai_SoChuong(this.g_ConnecString, g_ListCuocGoiLogInComing[i].CuocGoiID, GetSoChuong(g_ListCuocGoiLogInComing[i].ThoiDiemGoiDen, ThoiGianNhacMay)))
                        {
                            LogError.WriteLogError("Loi luu xuong DB", new Exception("Loi luu update so chuong"));
                        }
                        else
                        {
                            StructCuocGoi cuocgoi = new StructCuocGoi();
                            cuocgoi.CuocGoiID              = g_ListCuocGoiLogInComing[i].CuocGoiID;
                            cuocgoi.PhoneNumber            = g_ListCuocGoiLogInComing[i].PhoneNumber;
                            cuocgoi.fileAmThanhPath        = g_ListCuocGoiLogInComing[i].fileAmThanhPath;
                            cuocgoi.KhoangThoiGianHoiThoai = g_ListCuocGoiLogInComing[i].KhoangThoiGianHoiThoai;
                            cuocgoi.KieuCuocGoi            = g_ListCuocGoiLogInComing[i].KieuCuocGoi;
                            cuocgoi.Line                 = g_ListCuocGoiLogInComing[i].Line;
                            cuocgoi.ThoiDiemGoiDen       = g_ListCuocGoiLogInComing[i].ThoiDiemGoiDen;
                            cuocgoi.ThoiDiemKhongNhacMay = g_ListCuocGoiLogInComing[i].ThoiDiemKhongNhacMay;
                            cuocgoi.ThoiDiemNgheMay      = ThoiGianNhacMay;
                            g_ListCuocGoiLogInComing[i]  = cuocgoi;
                        }
                    }
                }
            }
        }
예제 #16
0
 /// <summary>
 /// nhan thong tin cac cuoc goi di va cap nhat vao DB
 /// </summary>
 private void CaptureCuocGoiDi()
 {
     try
     {
         DataTable dt = new DataTable();
         dt = TaxiCapture.GetEarlyPhoneDialOut(g_FileVOCPath);
         if ((dt != null) && (dt.Rows.Count > 0))
         {
             foreach (DataRow dr in dt.Rows)
             {
                 CuocGoiDi objGoiDi = new CuocGoiDi(dr["Line"].ToString(), dr["PhoneNumber"].ToString(), (DateTime)dr["ThoiDiemGoi"], (DateTime)dr["DoDaiCuocGoi"], dr["VoiceFilePath"].ToString());
                 if (!objGoiDi.Insert())
                 {
                     LogError.WriteLogError("Loi luu xuong DB cuoc goi di ", new Exception("[ Cuoc goi di ]"));
                 }
             }
         }
     }
     catch (Exception ex)
     {
         LogError.WriteLogError("Loi luu xuong DB cuoc goi di ", ex);
     }
 }