/// <summary> /// Метод добавления в коллекцию измерений /// </summary> /// <param name="Cur">Ток</param> public void AddInCollection(double Cur) { TextBlockMessageFromServer = " Статус: " + "Идет измерение..."; //Годность bool valid; Device b = SelectedDeviceInComboBox as Device; var Umin = context.GetUmin(b); var Umax = context.GetUmax(b); var Unom = context.GetUnom(b); //Отклонение от номинального значения var Deviat = Math.Abs(Umax - Umin) / 2; double Uizm = 0; //Добавление в коллекцию Oscs и определение наибольшего напряжения for (int q = 0; q < 1000; q++) { double temp = 0; temp = masVoltageFromServer[q]; if (temp > Uizm) { Uizm = temp; } Oscs.Add(new Osc() { U = masVoltageFromServer[q], T = masVoltageFromServer[q + 1000] }); } //Вызов метода построения осциллограмм LoadData(CounterAmountMeasurement); //Обновить график PlotModel.InvalidatePlot(true); //Вывод измеренного напряжения TextBlockOfVoltage = Uizm.ToString() + " B"; valid = (Math.Abs(Unom - Uizm) <= Deviat); //Создание нового экземпляра измерения var measure = new Measurement { device = b, NumberSupressor = Convert.ToInt32(TextBoxNumberOfSupressor), Date = DateTime.Now, Fio = TextBlockOfSurnameInMainWindow, Voltage = Uizm, Valid = valid, Current = Cur }; //Добавление в коллекцию Measurements.Add(measure); //В БД context.AddMeasurementsInDb(measure); //Сохранение изменений context.SaveDb(); }
/// <summary> /// Метод, запускающий таймер и сохранябщий настройки при нажатии кнопки "Запуск" /// </summary> public void IsButtonWillClick() { //Старт таймера stopwatch.Start(); //Метод, сохраняющий настройки IsButtonInDialogClick(); //Сохранение настроек Properties.Settings.Default.SettingNumber = Convert.ToInt32(TextBoxNumberOfSupressor) + 1; Properties.Settings.Default.Save(); //Закрытие доступа к элементам IsTextBoxNumberSupEnabled = false; IsComboBoxForNumberOfMeasureEnabled = false; IsButtonStartEnabled = false; IsRadioButtOnceEnabled = false; IsRadioButtSerialEnabled = false; //Очищение коллекций и области графика Oscs.Clear(); ComboColl.Clear(); PlotModel.Series.Clear(); }