/// <summary> /// Resets the dialog form to its initial state. /// </summary> public void ResetBackFillForm() { // Reset form values databaseValue.Text = null; destinationComboBox.SelectedItem = null; destinationComboBox.Text = null; destinationComboBox.Items.Clear(); sourceComboBox.SelectedItem = null; sourceComboBox.Text = null; sourceComboBox.Items.Clear(); intervalTextBox.Text = null; fillTypeComboBox.SelectedIndex = 0; tagsTextBox.Text = null; // Reset time/date format var dateTimeFormat = string.Format("{0} @ {1}", AppForm.Settings.DateFormat, AppForm.Settings.TimeFormat); fromDateTimePicker.CustomFormat = dateTimeFormat; toDateTimePicker.CustomFormat = dateTimeFormat; // Reset result BackfillResult = null; // Clear query NewQuery(); }
// Form Closing private void BackfillDialog_FormClosing(object sender, FormClosingEventArgs e) { try { // If the user is closing/canceling the form, nothing to do if (DialogResult != DialogResult.OK) { return; } // Create the Backfill result from form values BackfillResult = CreateBackfillParamsFromValues(); // If a valid result wasn't returned, cancel if (BackfillResult == null) { e.Cancel = true; } } catch (Exception ex) { AppForm.DisplayException(ex); } }
/// <summary> /// Creates a new <see cref="InfluxDbBackfillParams">Backfill Query</see> parameters object /// from the current dialog values. /// </summary> /// <returns>A Backfill params object if current values are valid, otherwise NULL.</returns> public InfluxDbBackfillParams CreateBackfillParamsFromValues() { if (!ValidateBackfillValues()) { return(null); } try { // Collect form values var destination = destinationComboBox.SelectedItem != null ? destinationComboBox.SelectedItem as string : destinationComboBox.Text; var source = sourceComboBox.SelectedItem != null ? sourceComboBox.SelectedItem as string : sourceComboBox.Text; // Subqueries var subQueries = new List <string>(); subQueries.Add(queryEditor.Text.Trim()); // Filters List <string> filters = new List <string>(); if (!string.IsNullOrWhiteSpace(filtersTextBox.Text)) { var parsedFilters = filtersTextBox.Text.Split(new char[] { ',' }, StringSplitOptions.RemoveEmptyEntries); foreach (var filter in parsedFilters) { filters.Add(filter.Trim()); } } // Tags List <string> tags = new List <string>(); if (!string.IsNullOrWhiteSpace(tagsTextBox.Text)) { var parsedTags = tagsTextBox.Text.Split(new char[] { ',' }, StringSplitOptions.RemoveEmptyEntries); foreach (var tag in parsedTags) { tags.Add(tag.Trim()); } } // Create the Backfill parameters var backfillParams = new InfluxDbBackfillParams() { Destination = destination, Source = source, SubQueries = subQueries, Interval = intervalTextBox.Text, FillType = (InfluxDbFillTypes)fillTypeComboBox.SelectedItem, FromTime = fromDateTimePicker.Value, ToTime = toDateTimePicker.Value, Filters = filters.Count > 0 ? filters : null, Tags = tags.Count > 0 ? tags : null, }; return(backfillParams); } catch (Exception ex) { AppForm.DisplayException(ex); return(null); } }