/// <summary> /// The background worker search do work. /// </summary> /// <param name="sender"> /// The sender. /// </param> /// <param name="e"> /// The e. /// </param> private void BackgroundWorkerSearchDoWork(object sender, DoWorkEventArgs e) { SearchResult searchResult; searchResult.NodesVisited = -1; searchResult.SearchPath = null; var treeObject = e.Argument as TreeObject; var searchPerformer = new SearchPerformer(this.provider, this.backgroundWorkerSearch); if (treeObject != null && (treeObject.Type.Equals("text") && this.textBoxSearchFor.Text != null)) { searchResult = searchPerformer.GenericSearch(treeObject, textBoxSearchFor.Text); } else if (treeObject != null && (treeObject.Type.Equals("numeric") && this.textBoxSearchFor.Text != null)) { double numericValue; if (double.TryParse( this.textBoxSearchFor.Text, NumberStyles.Any, CultureInfo.InvariantCulture, out numericValue)) { searchResult = searchPerformer.GenericSearch(treeObject, numericValue); } } e.Result = searchResult; }
/// <summary> /// The background worker batch process do work. /// </summary> /// <param name="sender"> /// The sender. /// </param> /// <param name="e"> /// The e. /// </param> private void BackgroundWorkerBatchProcessDoWork(object sender, DoWorkEventArgs e) { var threadId = Thread.CurrentThread.ManagedThreadId; var currentDateTime = DateTime.Now.TimeOfDay.ToString(); this.backgroundWorkerBatchProcess.ReportProgress( 0, "[" + currentDateTime.Substring(0, 13) + "]" + "\tThread ID " + threadId + " started." + Environment.NewLine); var type = e.Argument as string; var searchPerformer = new SearchPerformer(this.provider, this.backgroundWorkerBatchProcess); if (type != null && type.Equals("Text")) { searchPerformer.GenericBatchSearch(this.ListBoxToList(), "text"); } else { searchPerformer.GenericBatchSearch(this.numericItems, "numeric"); } e.Result = Thread.CurrentThread.ManagedThreadId; }