//How many threads we need to make checking easier public void count_thread() { using (linqDataContext linq = new linqDataContext()) { int value = (from p in linq.sayilars select p).Count(); lblThreadsNeed.Text = (value < 100 ? 2 : ((value / 100) + 1)).ToString(); } }
//Fetch the starting number from DB public void starting_from() { using (linqDataContext linq = new linqDataContext()) { var query = (from p in linq.sayilars orderby p.sayi descending select p).First(); lblChecked.Text = (Convert.ToInt32(query.sayi) + 2).ToString(); } }
//How many prime number recorded on DB public void count_db() { using (linqDataContext linq = new linqDataContext()) { int value = (from p in linq.sayilars select p).Count(); lblPrimeNumberCounter.Text = value.ToString(); } }
private void Form1_Load(object sender, EventArgs e) { using (linqDataContext linq = new linqDataContext()) { temp tmp = new temp(); linq.ExecuteCommand("delete from temp"); } }
//control the numbers public void control_prime_numbers(int bas, int son) { try { for (int i = bas; i < son; i++) { if (function.isPrime(i)) { lblPrimeState.Text = "Prime Number"; using (linqDataContext linq = new linqDataContext()) { var query = (from p in linq.sayilars where p.sayi < Convert.ToInt32(lblMaxValue.Text) select p); int result = 0; foreach (var item in query) { if (Convert.ToInt32(lblChecked.Text) % Convert.ToInt32(item.sayi.ToString()) == 0) { result++; } } if (should_check && result == 0) { should_check = false; sayilar primes = new sayilar(); { primes.sayi = Convert.ToInt32(lblChecked.Text); } linq.sayilars.InsertOnSubmit(primes); linq.SubmitChanges(); lblChecked.Text = (Convert.ToInt32(lblChecked.Text) + 2).ToString(); break; } else { result = 0; lblChecked.Text = (Convert.ToInt32(lblChecked.Text) + 2).ToString(); break; } } } else { lblPrimeState.Text = "Not Prime"; } } } catch { } finally { } }
//Prepare the threads to check prime numbers public void set_threads() { string log = ""; txtLog.Text = ""; int starting = 2; int counter = 0; baslangic: log += "Thread " + counter.ToString() + " => Starting : " + Convert.ToInt32(starting).ToString() + " ; Ending : " + (starting + Convert.ToInt32(lblThreadCheckBetween.Text)).ToString() + Environment.NewLine; using (linqDataContext linq = new linqDataContext()) { temp tmp = new temp(); { tmp.th = counter; tmp.bas = starting; tmp.son = starting + Convert.ToInt32(lblThreadCheckBetween.Text); } linq.temps.InsertOnSubmit(tmp); linq.SubmitChanges(); } starting += Convert.ToInt32(lblThreadCheckBetween.Text); counter++; if (counter < Convert.ToInt32(lblThreadsNeed.Text)) { goto baslangic; } if (starting < int.Parse(lblMaxValue.Text)) { log += "Thread " + counter.ToString() + " => Starting : " + Convert.ToInt32(starting).ToString() + " ; Ending : " + (Convert.ToInt32(lblMaxValue.Text)).ToString() + Environment.NewLine; using (linqDataContext linq = new linqDataContext()) { temp tmp = new temp(); { tmp.th = counter; tmp.bas = starting; tmp.son = starting + Convert.ToInt32(lblThreadCheckBetween.Text); } linq.temps.InsertOnSubmit(tmp); linq.SubmitChanges(); } } txtLog.Text = log; }
//main function of the program public bool main_function() { if (contunie) { using (linqDataContext linq = new linqDataContext()) { var sorgu = (from p in linq.temps select p); foreach (var item in sorgu) { Thread th = new Thread(() => control_prime_numbers(Convert.ToInt32(item.bas), Convert.ToInt32(item.son))); th.Start(); } temp tmp = new temp(); linq.ExecuteCommand("delete from temp"); } return(true); } else { backgroundWorker1.CancelAsync(); return(false); } }