public static async void SyncUpAsync() { UserReportDatabaseHelper reportDatabaseHelper = new UserReportDatabaseHelper(); List <UserReport> userReports = reportDatabaseHelper.GetAllReport(); var client = new HttpClient(); client.BaseAddress = new Uri("https://test.primasvn.net/ata-api/UserReport/Action"); foreach (UserReport user in userReports) { if (!user.IsSync) { string jsonData = "{\"PhoneNumber\" : \"" + user.phoneNumber + "\",\"ReportDate\":\"" + user.reportDate.Month + "/" + user.reportDate.Day + "/" + user.reportDate.Year + " " + user.reportDate.Hour + ":" + user.reportDate.Minute + ":" + user.reportDate.Second + "\", \"DeleteFlag\":1 ,\"ReporterId\":" + user.reporterID + "}"; try { var content = new StringContent(jsonData, Encoding.UTF8, "application/json"); HttpResponseMessage response = await client.PostAsync("", content); var result = await response.Content.ReadAsStringAsync(); reportDatabaseHelper.UpdateFlag(user); } catch (Exception er) { } } } }
// LẤY LẠI DỮ LIỆU TẠI DB private void LoadData() { try { reportDatabaseHelper = new UserReportDatabaseHelper(); var users = reportDatabaseHelper.GetAllReport(); lv_UserReport.ItemsSource = users; } catch { } try { //LẤY DANH BẠ List <PhoneContact> phoneContacts = ContactService_AndroidManager.Current.GetAllContacts(); contactStackupHelper = new ContactStackupHelper(); List <Contact> list = ContactsAdapterManager.Current.GetCurrentsConntact(); list.Reverse(); //XÓA NHỮNG SỐ THUỘC DANH BẠ RA KHỎI LỊCH SỬ //CỰC KỲ LƯU Ý VIỆC XỬ LÝ ĐẦU SỐ for (int i = 0; i < phoneContacts.Count; i++) { for (int j = 0; j < list.Count; j++) { if (phoneContacts[i].PhoneNumber.Replace(" ", string.Empty).Replace("-", string.Empty).Equals(list[j].Number)) { list.RemoveAt(j); j--; } } } lv_CallLog.ItemsSource = contactStackupHelper.ConvertToStackUp(list); } catch (Exception ex) { Thread.Sleep(500); LoadData(); } }
public void ManualReport(string incommingNumber) { // MANUAL CREATE CONNECTION Android_SQLite android_SQLite = new Android_SQLite(); SQLiteConnection connection = android_SQLite.GetConnection(); reportDatabaseHelper = new UserReportDatabaseHelper("" + "IF_WE_ADD_THIS_TEXT_OUR_CLASS_WILL_" + "USE_A_DEFALT_CONSTRUCTOR_WITHOUT_PLATFORM_ERROR" + "WHEN_RUNNING_IN_BACKGROUND"); // MANUAL ADD CONNECT FOR THIS CLASS reportDatabaseHelper.connection = connection; reportDatabaseHelper.CreateTable(); UserReport report = new UserReport(); report.phoneNumber = incommingNumber; report.reportDate = DateTime.Now; report.IsSync = false; reportDatabaseHelper.AddReport(report); }
void OnButtonClicked(object sender, EventArgs args) { if (string.IsNullOrEmpty(txtSDT.Text)) { return; } if (isPhoneNumber(txtSDT.Text)) { report = new UserReport(); reportDatabaseHelper = new UserReportDatabaseHelper(); report.phoneNumber = txtSDT.Text; report.reportDate = DateTime.Now; report.IsSync = false; reportDatabaseHelper.AddReport(report); CloseAllPopup(); } else { DisplayAlert("Error", "Wrong fortmat!!!", "OK"); } }
// THƯƠNG THỨC OVERRIDE NÀY SẼ ĐƯỢC THỰC THI KỂ CẢ APP LÚC KHÔNG CHẠY public override void OnReceive(Context context, Intent intent) { try { // MANUAL CREATE CONNECTION FOR SETTING Android_SQLite android_SQLite = new Android_SQLite(); connection = android_SQLite.GetConnection(); settingDatabaseHelper = new SettingDatabaseHelper("" + "IF_WE_ADD_THIS_TEXT_OUR_CLASS_WILL_" + "USE_A_DEFALT_CONSTRUCTOR_WITHOUT_PLATFORM_ERROR" + "WHEN_RUNNING_IN_BACKGROUND"); // MANUAL ADD CONNECT FOR THIS CLASS settingDatabaseHelper.connection = connection; settingDatabaseHelper.CreateTable(); isEnale = settingDatabaseHelper.GetKeyValue(SystemKey.IS_ENABLE); isNotification = settingDatabaseHelper.GetKeyValue(SystemKey.IS_NOTIFICATION); } catch { } // LẤY DANH SÁCH REPORT MỖI LẦN ĐƯỢC INVOKE try { // MANUAL CREATE CONNECTION Android_SQLite android_SQLite = new Android_SQLite(); connection = android_SQLite.GetConnection(); reportDatabaseHelper = new UserReportDatabaseHelper("" + "IF_WE_ADD_THIS_TEXT_OUR_CLASS_WILL_" + "USE_A_DEFALT_CONSTRUCTOR_WITHOUT_PLATFORM_ERROR" + "WHEN_RUNNING_IN_BACKGROUND"); // MANUAL ADD CONNECT FOR THIS CLASS reportDatabaseHelper.connection = connection; reportDatabaseHelper.CreateTable(); reports = reportDatabaseHelper.GetAllReport(); //MANUAL ADD CONNECT FOR THIS Telemarketer connection = android_SQLite.GetConnection(); telemarketerDatabaseHelper = new TelemarketerDatabaseHelper("" + "IF_WE_ADD_THIS_TEXT_OUR_CLASS_WILL_" + "USE_A_DEFALT_CONSTRUCTOR_WITHOUT_PLATFORM_ERROR" + "WHEN_RUNNING_IN_BACKGROUND"); telemarketerDatabaseHelper.connection = connection; telemarketerDatabaseHelper.CreateTable(); telemarketers = telemarketerDatabaseHelper.GetAllTelemarketer(); } catch { } // Toast.MakeText(context, "EX: " + reportDatabaseHelper.exceptionError, ToastLength.Short).Show(); // LẤY DANH BẠ LÊN // MỤC ĐÍCH ĐỂ SO SÁNH NÊU KHÔNG CÓ Ở TRONG DANH BẠ THÌ MỚI BLOCK try { contactServiceAndroid = new ContactService_Android(); phoneContacts = contactServiceAndroid.GetAllContacts(); } catch { Toast.MakeText(context, "ERROR WHEN GET CONTACT", ToastLength.Short).Show(); } #region BLOCKING if (intent.Extras != null) { if (!isEnale) { return; } string state = intent.GetStringExtra(TelephonyManager.ExtraState); // TRÍCH XUẤT SỐ ĐIỆN THOẠI GỌI ĐÊN (GỌI ĐI) incomingNumber = intent.GetStringExtra(TelephonyManager.ExtraIncomingNumber); // incomingNumber = "6505551212"; // CUỘC GỌI ĐẾN if (state.Equals(TelephonyManager.ExtraStateRinging)) { isIcomingCall = true; //KIẾM TRA XEM CÓ PHẢI LÀ SỐ ĐIỆN THOẠI TRONG DANH BẠ KHÔNG? foreach (PhoneContact phone in phoneContacts) { if (isTheSame(incomingNumber, phone.PhoneNumber)) { isInPhonebook = true; //NẰM TRONG PHONEBOOK THÌ KHÔNG CẦN KIỂM TRA NỮA. return; } } // KIỂM TRA XEM CÓ PHẢI LÀ SỐ TRONG DANH SÁCH BLOCK HAY KHÔNG? foreach (UserReport report in reports) { if (incomingNumber.Equals(report.phoneNumber)) { StopACall(context); isBlocking = true; return; } } //Toast.MakeText(context, reports.Count, ToastLength.Long).Show(); // KIỂM TRA XEM CÓ PHẢI LÀ SỐ TRONG DANH SÁCH Telemarketer HAY KHÔNG? foreach (Telemarketer telemarketer in telemarketers) { if (incomingNumber.Equals(telemarketer.phoneNumber)) { StopACall(context); isBlocking = true; return; } } } if (state.Equals(TelephonyManager.ExtraStateOffhook)) { isIcomingCall = false; return; } // CUỘC GỌI BỊ DẬP MÁY - KỂ CẢ VIỆC GỌI CHO NGƯỜI KHÁC TẮT if (state.Equals(TelephonyManager.ExtraStateIdle)) { if (isInPhonebook) { return; } if (isBlocking && isIcomingCall) { CreateNotification(incomingNumber, context); isBlocking = false; return; } if (!isIcomingCall) { return; } // TẠO RA THÔNG BÁO REPORT NẾU NÓ LÀ MỘT SỐ KHÔNG BỊ BLOCK, KHÔNG NẰM TRONG DANH BẠ VÀ LÀ CUỘC GỌI ĐẾN CreateNotification_Report(incomingNumber, context); isBlocking = false; isIcomingCall = false; isInPhonebook = false; } } #endregion }