/// <summary> /// записываем данных о событии из очереди в в бд /// </summary> public override void WriteInFileIzOcherediBD() { ClassZapicBD100 BDData = new ClassZapicBD100(); try { OcherediNaZapicBD.TryDequeue(out BDData); if (BDData != null) { //TODO (string nameFile, string nameBAAK, string time, string nameRan, int Amp, string nameklaster, int Nl, Double sig, int nD, int TimeFirst, int TimeAmp) BDReadСобытие(BDData, false, false); //пишем в бд КолПакетовОчер2++; } } catch (InvalidOperationException) { } catch (NullReferenceException ee) { Debug.WriteLine("Error 590"); } catch (Exception e) { CтатусБААК12 = "Ошибка. Отключена " + e; InDe(false); } }
/// <summary> /// записываем данные из очереди в файл и в бд /// </summary> public override void WriteInFileIzOcheredi()//работа с данными из очереди { try { bool?ed = OcherediNaZapic.TryDequeue(out dataYu); if (ed == true) { if (dataYu.ListData != null) { byte[] d = new byte[dataYu.ListData.Count]; int x = 0; foreach (Byte b in dataYu.ListData) { d[x] = b; x++; } if (data_w != null) { data_w.Write(d); } Double[] sigm = new double[12]; ClassZapicBD100 classZapicBD100 = new ClassZapicBD100(); Obrabotka(dataYu.ListData, out int[] Ampl, out double[] NL, (int)DataLenght, out int dN, out bool neutron, ref classZapicBD100); //парсинг данных // if (neu) { OcherediNaZapicBD.Enqueue(classZapicBD100); } КолПакетовОчер++; // DataBAAKList1 = null; d = null; } } } catch (InvalidOperationException) { } catch (NullReferenceException) { } catch (Exception e) { CтатусБААК12 = "Ошибка. Отключена " + e; InDe(false); } }
private void Neutron(int [,] n, int AmpOtbora, int dlitOtb, out int [] nn, string timeSob, Boolean test, double[] masNullR, bool bad) { nn = new int[12]; for (int i = 0; i < 12; i++) { int countnutron = 0; int Nu = Convert.ToInt32(masNullR[i]); int AmpOtbora1 = AmpOtbora + Nu; for (int j = 100; j < 20000; j++) { int countmaxtime = 0; int countfirsttime; int countendtime; int countfirsttime3; int countendtime3; int Amp = n[i, j]; if (Amp >= AmpOtbora1)//ищем претендента на нейтрон по порогу { //ищем граници претиндента нейтрона countendtime = j; int v = Amp; while (v > Nu) { countendtime++; v = n[i, countendtime]; } v = Amp; countfirsttime = j; while (v > Nu) { countfirsttime--; v = n[i, countfirsttime]; } if (countendtime - countfirsttime >= dlitOtb) { countendtime3 = j; v = Amp; while (v > Nu + 3) { countendtime3++; v = n[i, countendtime3]; } v = Amp; countfirsttime3 = j; while (v > Nu + 3) { countfirsttime3--; v = n[i, countfirsttime3]; } for (int v1 = countfirsttime; v1 <= countendtime; v1++)//точка максимум и значение максимум { if (Amp < n[i, v1]) { Amp = n[i, v1]; countmaxtime = v1; } } if (countendtime3 - countfirsttime3 >= dlitOtb) { Amp -= Nu; OcherediNaZapicBD.Enqueue(new ClassZapicBD() { tipDataTest = test, tipDataSob = false, nameFileBD = NameFileClose, DBD = i, AmpSobBD = Amp, TimeFirstBD = countfirsttime, TimeEndBD = countendtime, timeBD = timeSob, TimeAmpBD = countmaxtime, TimeFirst3BD = countfirsttime3, TimeEnd3BD = countendtime3, bad = bad }); countnutron++; } } j = countendtime + 1; } } nn[i] = countnutron; } }
/// <summary> /// записываем данные из очереди в файл и в бд /// </summary> public virtual void WriteInFileIzOcheredi()//работа с данными из очереди { try { dataYu = new DataYu(); bool?ed = OcherediNaZapic?.TryDequeue(out dataYu); if (ed == true) { if (dataYu.ListData != null) { byte[] d = new byte[dataYu.ListData.Count]; int x = 0; foreach (Byte b in dataYu.ListData) { d[x] = b; x++; } if (FlagSaveBin) { if (data_w != null) { data_w.Write(d); } } if (UserSetting.FlagOtbor) { int[] coutN = new int[12]; Double[] sigm = new double[12]; if (BAAKTAIL) { Obrabotka(dataYu.ListData, out int[] Ampl, out string time1, out coutN, out double[] NL, out sigm, dataYu.tipDataTest, out bool bad);//парсинг данных КолПакетовN += coutN.Sum(); Dispatcher.CurrentDispatcher.Invoke(DispatcherPriority.Render, new Action(() => { MyGrafic.AddTecPointN(Nkl, Convert.ToInt32(КолПакетовN) - ПакетовN); })); if (!dataYu.tipDataTest) { OcherediNaZapicBD.Enqueue(new ClassZapicBD() { tipDataTest = dataYu.tipDataTest, tipDataSob = true, nameFileBD = NameFileClose, nameBAAKBD = NameBAAK12, timeBD = time1, nameRanBD = BAAK12T.NameRan, AmpBD = Ampl, nameklasterBD = NamKl, NnutBD = coutN, NlBD = NL, sigBDnew = sigm, bad = bad }); } } } КолПакетовОчер++; DataBAAKList1 = null; d = null; } } } catch (InvalidOperationException) { } catch (NullReferenceException ee) { Debug.WriteLine("Error 656"); } catch (Exception e) { Brushes = System.Windows.Media.Brushes.Red; CтатусБААК12 = "Ошибка. Отключена " + e; InDe(false); } }