Пример #1
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);
        }
Пример #2
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;
                        }
                    }
                }
            }
        }