private void AddFilter_Click(object sender, RoutedEventArgs e) { try { WorkBookManager manager = WorkBookManager.Manager(); Models.WindowedSyncFilter newFilter = new Models.WindowedSyncFilter(); newFilter.IsActive = true; newFilter.Name = FilterName.Text; newFilter.CutoffFrequencySamplingFrequencyPercentage = double.Parse(CutoffFrequencyPercentage.Text); newFilter.FilterLength = int.Parse(FilterLength.Text); newFilter.FilterType = (FILTERTYPE)Enum.Parse(typeof(FILTERTYPE), FilterType.SelectedItem.ToString()); FilterViewModel model = DataContext as FilterViewModel; model?.AddFilter(newFilter); FilterName.Text = String.Empty; CutoffFrequencyPercentage.Text = String.Empty; FilterLength.Text = String.Empty; FilterType.SelectedIndex = 0; } catch (Exception ex) { Log.Warning(ex, ex.Message); // TODO warn the user } }
private void ImportButton_Click(object sender, RoutedEventArgs e) { OpenFileDialog openFileDialog = new OpenFileDialog(); openFileDialog.Filter = $"{Properties.Resources.FILTER_IMPORT_EXPORT_FILE_EXTENSION} (*{Properties.Resources.FILTER_IMPORT_EXPORT_FILE_EXTENSION})|*{Properties.Resources.FILTER_IMPORT_EXPORT_FILE_EXTENSION}|{Properties.Resources.ALL_FILES} (*.*)|*.*"; if (openFileDialog.ShowDialog() == true) { try { using (StreamReader fileReader = File.OpenText(openFileDialog.FileName)) { fileReader.ReadLine(); // Skip the header row List <Tuple <double, double> > magPhaseList = new List <Tuple <double, double> >(); while (!fileReader.EndOfStream) { string[] magPhaseData = fileReader.ReadLine().Split(','); double magnitude = double.Parse(magPhaseData[0]); double phase = double.Parse(magPhaseData[1]); magPhaseList.Add(new Tuple <double, double>(magnitude, phase)); } WorkBookManager manager = WorkBookManager.Manager(); SignalsAndTransforms.Models.CustomFilter customFilter = new SignalsAndTransforms.Models.CustomFilter(magPhaseList); customFilter.Name = System.IO.Path.GetFileNameWithoutExtension(openFileDialog.FileName); customFilter.IsActive = true; FilterViewModel context = DataContext as FilterViewModel; context?.AddFilter(customFilter); } } catch (Exception ex) { Log.Warning(ex, ex.Message); // TODO warn user } } }