/// <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> /// 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; } } } } }