Esempio n. 1
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);
            }
        }